![]() |
|
Модераторы: Akina |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Удаление кластерного индекса занимает очень долго времени, обычно в полтора раза больше чем его создание. Просто интересно стало - почему? Как реально сделан кластерный индекс что его удаление столь трудоёмкая операция.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
кластерный индекс это не индекс собственно вообще... это физическая сортировка таблицы в заданном порядке. т.е. если ты сделал например кластерный индекс по какому-то полю. то строки в таблице физически будут расположены в нужном порядке. отсюда следуют ограничения кластерного индекса - невозможность положить его в другую фаил группу нежели сама таблица или невозможность иметь его более чем один на таблицу
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Хех, это не совсем так... Скорее лишь видимость этой сортировки. Попробуй сделать кластерный индекс по полю типа GUID и сделать Insert в такую таблицу... времени это не займёт больше чем обычно, так что о физической сортировке можно забыть... сказки для пугания новичков... я сам эту байку рассказываю тем кто начинает изучать базы данных, на самом деле всё сложнее: http://blogs.gotdotnet.ru/personal/Bezzus/...34-3f54bf198db9 Но даже если предположить что это физическая сортировка - за каким хреном она удаляется ТАК ДОЛГО? Неужели при его удалении база данных "перемешивает" данные специально? А это тут причём? Или вы решили рассказать мне что такое кластерный индекс? Я это знаю, во всяком случае в том объёме в каком это дают BOL и Роберт Вейра.
Создайте таблицу хотя бы на 10 000 000 записей, создайте кластерный индекс на ней а потом удалите... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
Vit, спасибо за линк
кстати вспомнил такую вещ - при удалении/создании кластерного индекса все остальные не-кластерные индексы на этой таблице перестариваются. именно поэтому существует совет о том что создавать кластерный индекс над первым у удалять последним. Может это и есть причина медленного его удаления? Это сообщение отредактировал(а) ALKS - 17.5.2006, 17:17 |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Добавлено @ 21:24
Ещё раз проверил - точно! Самое оно! Действиетльно, время удаления кластерного индекса в точности равно пересозданию всех ранее назначенных индексов. Огромное спасибо! Это сообщение отредактировал(а) Vit - 17.5.2006, 21:25 -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |