В предыдущей статье мы проанализировали улучшения производительности в SQL Server 2025 CU3 и обнаружили скрытые оптимизации, о которых никто не говорит.
👉 Если вы пропустили, посмотрите здесь:
SQL Server 2025 CU3 – Скрытое улучшение производительности, о котором никто не говорит
В этой же статье мы представим удивительную новость в мире SQL Server, которую я называю функцией автоматического уплотнения индексов (Auto Index Compaction).
🚀 Представляем автоматическое уплотнение индексов
Автоматическое уплотнение индексов — это новая встроенная функция в движке SQL Server, которая уплотняет индексы в фоновом режиме с минимальными накладными расходами.
Никаких заданий. Никаких планов обслуживания. Никаких скриптов перестроения по ночам.
Просто… движок делает работу за вас.
⚡ Краткое описание
- Индексы уплотняются автоматически в фоновом режиме
- Работает непрерывно по мере изменения данных
- Уменьшает потребление хранилища, ввода-вывода, CPU и памяти
- Нет необходимости в заданиях на перестроение/реорганизацию индексов
- Улучшает производительность запросов
💡 Это больше НЕ о фрагментации. Это о плотности страниц.
Примечание переводчика: у нас это принято называть внутренней фрагментацией, т.е. внутри страницы.
📌 Где это доступно?
⚠️ В настоящее время эта функция находится в режиме предварительного просмотра и доступна только на:
- Azure SQL Database
- Управляемом экземпляре SQL Azure (политика постоянного обновления)
- SQL Database в Microsoft Fabric
- Примечание переводчика - мы пока в пролёте...
⚙️ Как включить
ALTER DATABASE [your_database]
SET AUTOMATIC_INDEX_COMPACTION = ON;
Отключить:
ALTER DATABASE [your_database]
SET AUTOMATIC_INDEX_COMPACTION = OFF;
🧠 Как это работает (простое объяснение)
По мере изменения данных (INSERT / UPDATE / DELETE) SQL Server:
- Находит частично заполненные страницы
- Перемещает строки, чтобы заполнить их
- Удаляет пустые страницы
👉 Результат: те же данные, но меньше страниц.
А меньше страниц означает:
- Меньше ввода-вывода
- Меньше использования памяти
- Меньше CPU
- Более быстрые запросы
📊 Реальное влияние (почему оно огромно)
Microsoft опубликовала следующие результаты. Мы скоро протестируем их с реальным бенчмарком, как обычно!
После нагрузки с интенсивными операциями записи:
- Логические чтения взлетели с 25 → 1610
- Плотность страниц упала с 99% → 52%
- Количество страниц резко увеличилось
Затем сработало автоматическое уплотнение:
- Логические чтения снизились ~на 98%
- Плотность страниц вернулась к ~96%
- Количество страниц резко уменьшилось
🔥 Всё это без какого-либо ручного вмешательства.
⚖️ Уплотнение против перестроения против реорганизации
| Характеристика | Уплотнение (Compaction) | Перестроение (Rebuild) | Реорганизация (Reorganize) |
| Область действия | Только изменённые страницы | Все страницы | Все страницы |
| Накладные расходы | Очень низкие | Высокие | Средние |
| Автоматизация | Автоматическая | Ручная | Ручная |
| Фрагментация | Не уменьшается | Уменьшается | Уменьшается |
| Плотность страниц | Улучшается | Улучшается | Улучшается |
⚠️ Важные соображения
- Небольшое увеличение CPU (низкие однозначные проценты)
- Возможное увеличение записей в журнале транзакций
- Очень короткие блокировки на уровне страниц (миллисекунды)
- НЕ обновляет статистику
💡 Ключевая мысль: Для большинства рабочих нагрузок плотность страниц важнее, чем фрагментация.
Это полностью меняет то, как мы должны думать об обслуживании индексов.
🎯 Заключительные мысли
Эта функция — смена парадигмы.
Мы переходим от:
- Ручного обслуживания
- Запланированных заданий
- Тяжёлых операций перестроения
К:
- Автономной оптимизации
- Непрерывной фоновой настройке
- Минимальным накладным расходам

Комментариев нет:
Отправить комментарий