Время выполнения произвольного запроса в тестовом примере - PullRequest
0 голосов
/ 29 сентября 2010

Я тестирую метод с довольно огромным SQL-запросом.У меня есть около 15 объединений, один подзапрос с 2 объединениями, так что это сложно.Но каждый бег занимает разное время.Однажды это 4 секунды, иногда 80 или даже 200 секунд.Это стандартный модульный тест с подготовкой данных с помощью FactoryGirl, и данные всегда одинаковы.

Существуют ли профилировщики mysql, опции mysql или другие инструменты, которые могут понять, почему существуют такие большие различия во времени выполнения?Как это выяснить?

1 Ответ

1 голос
/ 29 сентября 2010

Существует большая вероятность того, что MySQL кеширует результаты некоторых подзапросов и / или объединений, что будет легко учитывать изменения, которые вы видите в ваших временах отклика.

Что касается профилировщика, то быстрый google для "mysql profiler" придумал эту ссылку , а также предыдущий вопрос здесь на SO задавая тот же вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...