Дом Базы данных Что делает дефрагментация для систем SQL?

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

Anonim

Q:

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

A:

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

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

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

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

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

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

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