Что делает дефрагментация для систем SQL?

Автор: Lewis Jackson
Дата создания: 12 Май 2021
Дата обновления: 15 Май 2024
Anonim
SQL команды. SQL команда VACUUM: повторная сборка или дефрагментация базы данных
Видео: SQL команды. SQL команда VACUUM: повторная сборка или дефрагментация базы данных

Содержание

Q:

Что делает дефрагментация для систем SQL?


A:

Постоянное обслуживание и мониторинг базы данных являются ключевыми элементами, которые необходимо учитывать для бесперебойной работы системы SQL. Когда база данных создается и заполняется, первоначально данные помещаются в непрерывное физическое местоположение (если доступно достаточно непрерывного физического пространства). Таким образом, в этом случае логическое упорядочение и физическое упорядочение данных, вероятно, будут похожи, и это увеличивает производительность.

Когда данные изменяются, удаляются или обновляются, соответствующие индексы также автоматически обновляются для отражения этих изменений. В результате индексы становятся фрагментированными, а информация разбросана по пространству хранения. Он изменяет физический порядок данных (поскольку он теряет непрерывное распределение), и поиск занимает много времени, что приводит к снижению производительности базы данных.

Решением этой проблемы является периодическая дефрагментация. Дефрагментация фактически перестраивает или реорганизует индексы в соответствии с логическим упорядочением данных и физическим упорядочением. Перед выполнением любой операции дефрагментации все индексы должны быть правильно проанализированы. Результаты анализа определяют, требуется ли реорганизация или перестройка.


Две основные операции, выполняемые процессом дефрагментации:

  • Реорганизация индекса - Реорганизация индекса выполняется, когда фрагментация находится на низком уровне и производительность не подвергается серьезному влиянию. Этот процесс фактически выполняет физическое переупорядочение страниц конечного уровня в соответствии с логическим порядком. Он не создает никаких новых страниц; это только переупорядочивает существующие страницы. Реорганизация может быть выполнена, когда система подключена к сети, не блокируя обычные операции с базой данных.
  • Восстановление индекса - Процесс перестроения индекса выполняется, когда фрагментация находится на более глубоком уровне, а производительность слишком низкая. В этом процессе исходный индекс удаляется и создается новый новый индекс. Таким образом, физическое и логическое упорядочение возвращаются к исходным позициям, а производительность улучшается в разы. Восстановление также может создавать новые страницы по мере необходимости, и это может быть выполнено в автономном или онлайн-режиме.

Следовательно, дефрагментация должна быть частью процесса обслуживания SQL Server, и к ней нужно относиться серьезно. Надлежащий план анализа запросов должен быть построен и соблюден. На основе результатов анализа запросов необходимо выполнить перестройку или реорганизацию индексов. Короче говоря, дефрагментация необходима для повышения производительности систем SQL.