Мне интересно, есть ли у кого-нибудь предложение для моей ситуации:
У меня есть процесс, который запускает многие десятки тысяч запросов. Весь процесс занимает от 5 до 10 минут. Я хочу знать, какие запросы выполняются медленнее, чем остальные, но я знаю, что ни один из них не выполняется дольше, чем, скажем, 5 секунд (при таком количестве запросов это было бы очень заметно в моих журналах). Как мне узнать, какие из них занимают больше всего времени, и те, которые при оптимизации дадут наилучшие результаты?
БОЛЬШЕ ДЕТАЛЕЙ:
Мои запросы выполняются однопоточными и синхронными, и я бы сказал, 70% SELECT и 30% INSERT / UPDATE. Мне нужно собрать вместе головы и определить, можно ли разделить работу на разные подразделения, которые можно запускать одновременно - я не уверен ...
Все запросы представляют собой либо простые операторы INSERT, операторы UPDATE с одним свойством, либо операторы SELECT по первичному или внешнему ключу, либо ограничение ANDed из двух полей.
ОПИСАНИЕ ВЫПУСКА:
В основном я копирую сложную структуру ориентированного графа целиком. Узлы являются записями базы данных, а смежности представляют собой, по сути, внешние ключи, но не строго говоря (они могут представлять собой комбинацию из двух полей, где первый говорит, для какой таблицы второй идентификатор).