Удаление кластеризованных индексов SQL Server 2005 выполняется долго без некластеризованных индексов - PullRequest
0 голосов
/ 12 июля 2011

Я удаляю кластерный индекс из таблицы в базе данных SQL Server 2005, и для его запуска требуется очень много времени.

Я провел некоторое исследование и определил, что удаление кластеризованного индекса может занять много времени, потому что он обновляет указатели в некластеризованных индексах, чтобы вместо этого ссылаться на RowID самой таблицы, однако в этом конкретном сценарии нет некластеризованных индексов. присутствует на столе.

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

Есть ли способ определить, какие объекты используют ссылки на кластерный индекс, а не RowID?

Ответы [ 2 ]

1 голос
/ 12 июля 2011

Если есть кластеризованный индекс, все используют его вместо RowID - ключ кластеризованного индекса IS идентификатор строки.

Таким образом, ответ - все, что ссылается на эту таблицу.

0 голосов
/ 12 июля 2011

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

Однако, по какой причине вы отбрасываете кластеризованный индекс, который, скорее всего, является первичным ключом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...