Медленный запрос / отключение кэша - Sybase Adaptive Server - PullRequest
1 голос
/ 11 февраля 2009

Похоже, что этот запрос выполняется невероятно медленно (25 секунд для 4 миллионов записей!) На Sybase v10 в базе данных клиентов:

Select max(tnr) from myTable; 

С первичным ключом tnr.

Однако, если я запускаю его 1000 раз на нашем сервере, он кажется быстрым (15 мс ...), что заставляет меня думать, что результат запроса кэшируется. Есть ли способ отключить кэш для этого запроса (или всей базы данных) в Sybase, чтобы воспроизвести эту проблему?

Я пытался:

call sa_flush_cache ();
call sa_flush_statistics ();

Но, похоже, не сработал.

Ответы [ 2 ]

1 голос
/ 16 февраля 2009

К сожалению, dbcc cacheremove не будет работать, поскольку он не удаляет страницы из кэша, а скорее удаляет дескриптор и помещает его обратно в свободную цепочку.

Помимо перезапуска сервера данных, единственный способ сделать это - привязать объект к кешу, а затем выполнить тесты, а затем отсоединить объект, который удалит все страницы из кеша.

0 голосов
/ 12 февраля 2009

Попробуйте dbcc cacheremove

...