Один из самых простых способов повысить производительность запросов в SQL Server — обеспечить быстрый доступ к запрашиваемым данным, причём максимально эффективно. В SQL Server использование одного или нескольких индексов может стать именно тем решением, которое вам нужно. Фактически, индексы настолько важны, что SQL Server может даже предупредить вас, когда обнаружит, что отсутствует индекс, который был бы полезен для запроса. Это обзорная статья объяснит, что такое индексы, почему они так важны, а также немного об искусстве и науке разработки различных стратегий индексирования.
MS SQL Server дело тонкое...
16.3.26
Стратегии индексирования для производительности SQL Server
15.3.26
Всё ещё о Batch Mode… Параметры совместимости и опции запросов (Часть 6)
Назад к серии: Как указать Batch Mode для Rowstore, если его нет в плане (Часть 5)
Мы всё ещё говорим о пакетном режиме, потому что понимание того, когда он работает, так же важно, как и знание того, как его принудительно включить.
Сегодня мы углубимся: мы рассмотрим уровни совместимости, выделение памяти, оценку количества строк и флаги трассировки.
Приятного чтения, и пусть ваш CPU остаётся холодным при тяжёлых агрегатах!
13.3.26
Как указать Batch Mode для Rowstore, если его нет в плане (Часть 5)
Предыдущая статья: Без новых индексов или изменений схемы - запросы быстрее в 10 раз с Batch Mode для Rowstore (Часть 4)
Давайте пристально изучим Actual Execution Plan, и углубимся в изучение пакетного режима для строчного хранения.
Накопительный пакет обновлений для SQL Server 2022 CU24 - KB5080999
Описание: KB5080999
Скачать: SQLServer2022-KB5080999-x64.exe
Дата выпуска: 12 марта 2026 г.
SQL Server 2022 — Версия: 16.0.4245.2
Накопительный пакет обновления 3 для SQL Server 2025 - KB5077896
Описание: KB5077896
Скачать: SQLServer2025-KB5077896-x64.exe
Дата выпуска: 12 марта 2026 г.
SQL Server 2025 — Версия: 17.0.4025.3
12.3.26
Без новых индексов или изменений схемы - запросы быстрее в 10 раз с Batch Mode для Rowstore (Часть 4)
Надеюсь, вам нравится эта серия. Я искренне верю, что она может быть очень полезной для тех, кто профессионально использует SQL Server, как это делаю я уже более 20 лет (как летит время!).
Сегодня мы поговорим о пакетном режиме для строчного хранения (Batch Mode on Rowstore) и о том, как сделать ваш запрос в 10 раз быстрее без добавления каких-либо индексов.
Что ж... в Части 3 мы представили колоночные индексы и увидели, как выполнение в пакетном режиме может кардинально улучшить аналитические запросы.
Если вы пропустили предыдущую часть, вы можете прочитать её здесь:
Но вот в чём поворот.
Начиная с SQL Server 2019, вам не всегда нужен колоночный индекс, чтобы получить производительность пакетного режима.
SQL Server может активировать пакетный режим для строчного хранения.
И иногда... как я сказал вам в начале этой статьи... ваш запрос становится в 5 или 10 раз быстрее без добавления ни одного индекса. Поэтому я предлагаю вам продолжить чтение...
11.3.26
Логические чтения не повторяемы на колоночных индексах (эх...)
Иногда я действительно ненавижу свою работу.
Вечно, ВЕЧНО, я мог утверждать: «Когда вы измеряете производительность хранилища во время настройки индексов и запросов, вы всегда должны использовать логические чтения, а не физические, потому что логические чтения повторяемы, а физические — нет. Физические чтения могут меняться в зависимости от того, что находится в кэше, какие другие запросы выполняются в данный момент, от редакции вашего SQL Server и от того, используются ли упреждающие чтения. Логические чтения просто отражают точное количество прочитанных страниц, независимо от того, откуда пришли данные (с диска или из кэша), так что пока это число уменьшается, вы делаете свою работу хорошо».
Накопительный пакет обновления для SQL Server 2025 CU2 - KB5077466
Описание: KB5077466
Скачать: SQLServer2025-KB5077466-x64.exe
Дата выпуска: 10.03.2026
SQL Server 2022 — Версия: 17.0.4020.2
Исправление безопасности для SQL Server 2025 GDR - KB5077468
Описание: KB5077468
Скачать: SQLServer2025-KB5077468-x64.exe
Дата выпуска: 10.03.2026
SQL Server 2022 — Версия: 17.0.1105.2
Исправление безопасности для SQL Server 2022 CU23 - KB5077464
Описание: KB5077464
Скачать: SQLServer2022-KB5077464-x64.exe
Дата выпуска: 10.03.2026
SQL Server 2022 — Версия: 16.0.4240.4
Исправление безопасности для SQL Server 2022 GDR - KB5077465
Описание: KB5077465
Скачать: SQLServer2022-KB5077465-x64.exe
Дата выпуска: 10.03.2026.
SQL Server 2022 — Версия: 16.0.1170.5
Исправление безопасности для SQL Server 2019 CU32 - KB5077469
Описание: KB5077469
Скачать: SQLServer2019-KB5077469-x64.exe
Дата выпуска: 10.03.2026
SQL Server 2019 — версия: 15.0.4460.4
