Это большой вопрос, и я могу предложить только несколько указателей - но я уверен, что в других местах на SO есть хорошие темы
сначала профилирование дБ запросов. Каждая СУБД содержит длинный список запросов. MySql включен с одним флагом конфигурации. Это будет перехватывать запросы, которые выполняются длительное время (это может быть порядка секунд, что является большим временем для современной СУБД).
Также каждая СУБД возвращает время для выполнения со своим набором записей. Я настоятельно рекомендую вам перенаправить все вызовы DNase через одну общую функцию, скажем «executequery», затем вытащить SQL и время выполнения в файл для дальнейшего использования
в целом медленные запросы происходят из-за плохого оформления таблицы и отсутствия хороших индексов. Запустите «объяснение» для любого запроса, который вас беспокоит - dbae скажет вам, как он будет выполнять этот запрос - любые «проверки таблицы» указывают, что СУБД не может найти индекс в таблице, который удовлетворяет требованиям запроса
Следующее профилирование - это термин, чаще всего используемый для определения времени, затрачиваемого на выполнение частей программы, то есть того, которое для циклов используется все время, или времени, затрачиваемого на установление соединения с БД.
То, что вы хотите, это тестирование производительности