Опыт использования ОПТИМИЗАЦИИ ДЛЯ НЕИЗВЕСТНЫХ - PullRequest
1 голос
/ 07 декабря 2010

Я ознакомился с теорией и взглядами на опцию плана запроса SQL Server 2008 «ОПТИМИЗИРОВАТЬ ДЛЯ НЕИЗВЕСТНОГО». Я понимаю, что это делает достаточно хорошо.

Я провел несколько ограниченных экспериментов и обнаружил, что с теплым кэшем он был полезен только для> 100 тыс. Строк. Однако это было для простой таблицы и запроса без объединений, фильтрации и т. Д. В холодном кэше картина, несомненно, была бы гораздо более благоприятной.

В настоящее время у меня нет производственной системы для тестирования до / после. Поэтому мне любопытно, сделал ли кто-либо до / после тестирования и сделал какие-либо полезные открытия относительно того, когда именно использовать эту опцию, а когда нет.

UPDATE:

Я создал таблицу с 3 столбцами, PK для UID и индекс для Col2 (int). Вся обработка была против Col2. Указано количество строк и время (DATEDIFF * 1000000):

Type        1,000   5,000   20,000  100,000
Normal      0.3086  6.327   26.427  144.83, 141.126
Recompile           117.59  584.837 
For Unknown 0.8101  6.52    26.89   143.788, 143.248

1 Ответ

0 голосов
/ 07 декабря 2010

Вы могли бы использовать его, когда ваши данные достаточно искажены, чтобы план, созданный с одним значением параметра, был совершенно не пригоден для другого потенциального значения параметра. то есть, чтобы решить проблему с анализом параметров.

Остальная часть вашего вопроса не имеет особого отношения к цели подсказки или ответственности IMO.

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