Вы должны учитывать время компиляции запроса и кэширование результатов, это совершенно разные вещи.
первый запуск sql-шаблона работает медленнее, так как красное смещение должно оптимизироваться (компилировать) Это.я думаю, что единственный способ очистить этот сборник - перезапустить красное смещение.
Кеш результатов совершенно другой, если вы повторно запустите тот же самый sql, то кеш результатов вернет результаты, если он включен.
например, для данного запроса
select * from table where xyz='example1';
Этот первый запуск скомпилирует запрос, поэтому он займет больше времени.этот процесс зависит от сложности SQL, очень сложный SQL может скомпилировать 30 секунд.
Если у вас включен кэш результатов запроса, то второй прогон точный запрос
select * from table where xyz='example1';
, вероятно, займет 100 мс или меньше (исключая сетевое время, если результаты большие)
Однако, если вы выполните подобный запрос, например select * from table, где xyz = 'example 2 ';
Это не может использовать кэш результатов, но МОЖЕТ использовать скомпилированную версию первого запроса, поэтому он будет работать эффективно.
, если вы запуститедругой запрос, такой как
select * from table where xyz='example1' order by 1 desc;
Тогда кеш не будет использоваться, и компиляция должна произойти.
Итак, для правильного бенчмаркинга отключите кеш результатов, но откажитесь от первого запуска любогоданный шаблон запроса.