SQL Server: Каково различие между Индексной Реорганизацией Восстановления и Индекса?

Ну, я понял это методом проб и ошибок. Сначала я установил новую копию Ubuntu. Затем я установил андроид студию, и все было AOK. Затем я установил Bitnami, и все было в порядке. Я проверил phpmyadmin для работы с MySQL, и это тоже нормально. Затем я установил phpStorm вместе с моей кодовой базой. Это было хорошо. Затем я установил php 5.6. Это сломало все! Корень документа был переведен со стандарта bitnami на / var / www / html. Единственный способ узнать это - набрать локальный хост, и вместо страницы по умолчанию bitnami, показывающей, что это страница по умолчанию Ubuntu. Бешенство. Я установил всю эту систему 5 раз. Кстати, эта установка отлично работает на Windows.

Моя следующая и последняя попытка полностью отказаться от Ubuntu - это стереть жесткий диск и переустановить ubunutu. Затем я создам виртуальную коробку и установлю битнами. Я думаю, что я мог бы установить phpStorm в коробке, но я мог бы также установить его вне коробки и сделать некоторую удаленную отладку.

Или, может быть, мне нужно просто вернуть этот ПК с Linux и заказать версию для Windows ????

20
задан Benjamin 4 February 2014 в 16:04
поделиться

5 ответов

Подумайте, как реализован индекс. Обычно это какое-то дерево, вроде B + Tree или B-Tree. Сам индекс создается путем просмотра ключей в данных и построения дерева для эффективного поиска в таблице.

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

Когда вы перестраиваете индекс, вы удаляете существующее дерево и читаете все записи, создавая новое дерево прямо из данные. Это дает вам новый, и, надеюсь, оптимизированное дерево, которое может быть лучше, чем результаты реорганизации таблицы; он также позволяет регенерировать дерево, если оно каким-то образом было повреждено.

31
ответ дан 29 November 2019 в 23:41
поделиться

«Реорганизация индекса» - это процесс очистки, организации и дефрагментации «конечного уровня» B-дерева (на самом деле, страниц данных).

Перестройка индекса меняется все B-дерево, воссоздающее индекс.

Рекомендуется реорганизовать индекс, когда фрагментация индекса составляет от 10% до 40%; если фрагментация индекса больше 40%, лучше его перестроить.

Перестройка индекса требует больше ресурсов, приводит к блокировкам и снижает производительность (если вы решите оставить таблицу в оперативном режиме). Итак, вам нужно найти подходящее время для этого процесса.

0
ответ дан 29 November 2019 в 23:41
поделиться

REBUILD блокирует таблицу на весь период работы (который может составлять часы и дни, если таблица большая).

REORGANIZE не блокирует таблицу.

Ну. фактически, он устанавливает временные блокировки на страницы, с которыми работает прямо сейчас, но они снимаются, как только операция завершается (что составляет доли секунды для любой данной блокировки).

Как @Andomar ], есть возможность ПЕРЕСТРОИТЬ индекс онлайн, который создает новый индекс, а когда операция завершается, просто заменяет старый индекс новым.

Это, конечно, означает, что вы должно быть достаточно места для хранения как старой, так и новой копии индекса.

8
ответ дан 29 November 2019 в 23:41
поделиться

Есть ряд отличий. По сути, перестроение - это полное перестроение индекса: он строит новый индекс, а затем удаляет существующий, тогда как реорганизация просто ... ну ... он реорганизует его.

Эта запись в блоге, на которую я наткнулся некоторое время назад, объясняет это гораздо лучше, чем я. :)

3
ответ дан 29 November 2019 в 23:41
поделиться

Перестроить индекс - перестраивает один или несколько индексов для таблицы в указанной базе данных.

Реорганизовать индекс - дефрагментирует кластеризованные и вторичные индексы указанной таблицы

-1
ответ дан 29 November 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: