Дмитрий Пилюгин написал замечательную статью о улучшениях оптимизатора запросов в SQL Server 2017. Приведу небольшую вырезку из статьи, свои комментарии и ссылку на неё:
Собственно о чём статья:
В этой публикации я хочу поговорить о новых методах обработки запросов, которые призваны бороться с ошибками в оценках кардинальности, предполагаемом числе строк в операторах плана запроса, и улучшать производительность. Эти методы объединяются под общим названием – Adaptive Query Processing, и состоят из трех основных компонентов:
- Adaptive Memory Grant Feedback
- Interleaved Execution
- Adaptive Joins
Далее мы рассмотрим каждый из этих методов, где они применяются и какой имеют эффект. Для демонстрации примеров я буду использовать SQL Server 2017 CTP 2.0 совместно с SQL Server Management Studio 17.0…
Комментарии:
К сожалению, 2-а их приведённых в статье улучшения требуют обязательного использования batch mode и без модификаций кода или использования колоночных индексов применить их не получится. Будем надеяться, что в будущем это изменится.
Ссылка на статью — SQL Server 2017: Adaptive Query Processing