Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление кластерного индекса 
V
    Опции темы
Vit
Дата 16.5.2006, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
ALKS
Дата 17.5.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



кластерный индекс это не индекс собственно вообще... это физическая сортировка таблицы в заданном порядке. т.е. если ты сделал например кластерный индекс по какому-то полю. то строки в таблице физически будут расположены в нужном порядке. отсюда следуют ограничения кластерного индекса - невозможность положить его в другую фаил группу нежели сама таблица или невозможность иметь его более чем один на таблицу smile а вот то что он удаляеться медлеено я честно говря внимания не обращал smile 
PM   Вверх
Vit
Дата 17.5.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 5
Всего: 207



Цитата(ALKS @  16.5.2006,  23:30 Найти цитируемый пост)
 это физическая сортировка таблицы в заданном порядке.


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

http://blogs.gotdotnet.ru/personal/Bezzus/...34-3f54bf198db9

Но даже если предположить что это физическая сортировка - за каким хреном она удаляется ТАК ДОЛГО? Неужели при его удалении база данных "перемешивает" данные специально? 


Цитата(ALKS @  16.5.2006,  23:30 Найти цитируемый пост)
отсюда следуют ограничения кластерного индекса 


А это тут причём? Или вы решили рассказать мне что такое кластерный индекс? Я это знаю, во всяком случае в том объёме в каком это дают BOL и Роберт Вейра.





Цитата(ALKS @  16.5.2006,  23:30 Найти цитируемый пост)
а вот то что он удаляеться медлеено я честно говря внимания не обращал 


Создайте таблицу хотя бы на 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
PM MAIL WWW ICQ   Вверх
ALKS
Дата 17.5.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



Vit, спасибо за линк smile

кстати вспомнил такую вещ - при удалении/создании кластерного индекса все остальные не-кластерные  индексы на этой таблице перестариваются. именно поэтому существует совет о том что создавать кластерный индекс над первым у удалять последним. 
Может это и есть причина медленного его удаления? 

Это сообщение отредактировал(а) ALKS - 17.5.2006, 17:17
PM   Вверх
Vit
Дата 17.5.2006, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 5
Всего: 207



Добавлено @ 21:24 
Цитата(ALKS @  17.5.2006,  08:16 Найти цитируемый пост)
кстати вспомнил такую вещ - при удалении/создании кластерного индекса все остальные не-кластерные  индексы на этой таблице перестариваются. именно поэтому существует совет о том что создавать кластерный индекс над первым у удалять последним. 
Может это и есть причина медленного его удаления? 


Ещё раз проверил - точно! Самое оно! Действиетльно, время удаления кластерного индекса в точности равно пересозданию всех ранее назначенных индексов. Огромное спасибо!   

Это сообщение отредактировал(а) 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
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.