У меня есть ограничение PK - кластерный индекс на двух столбцах - который я нахожу в процессе удаления. Команда все еще работает через час. Я бы подумал, что, поскольку я просто удаляю ограничение, операция будет почти мгновенной. Может кто-нибудь объяснить мне, что на самом деле происходит под капотом, когда я бросаю ПК?Что происходит, когда я удаляю кластерный первичный ключ в SQL 2005
ответ
Кластерный индекс не является «просто ограничением», это метод хранения.
Когда вы бросьте ваши данные в настоящее время заказаны из кластерных хранений для хранения кучи
Других индексов обновляемых для обозначения RID
-х вместо PRIMARY KEY
значений.
Сгруппированный индекс - это данные, которые объяснят время его запуска.
Индекс «CLUSTERED» будет физически записывать записи вашей таблицы в порядок на жесткий диск. Поэтому падение или изменение этого индекса, скорее всего, вызовет SQL Server в основном «дефрагментации» (переупорядочения) вашего жесткого диска (ну, по крайней мере, той части, где данные для этой таблицы).
Обратите внимание, что этот ответ не является абсолютно техническим ... но он предназначен для того, чтобы дать вам ответ «о, это то, что происходит», который обычно является более чем достаточно хорошим.
- 1. первичный ключ и кластерный индекс
- 2. SQL - первичный ключ, кластерный указатель, автоинкремент
- 3. Первичный ключ и кластерный индекс
- 4. базы данных: первичный ключ, кластерный или NONCLUSTERED
- 5. Композитный первичный ключ/кластерный индекс, фрагментация, производительность
- 6. Почему первичный ключ автоматически создает кластерный индекс
- 7. Первичный ключ GUID, отдельный кластерный индексный столбец
- 8. Что происходит, когда я удаляю doctype в html?
- 9. Первичный ключ всегда индексируется в sql-сервере?
- 10. Когда неявный порядок запроса sql не первичный ключ
- 11. Как удалить кластерное свойство, но сохранить первичный ключ в таблице. SQL Server 2005
- 12. Когда я должен дать таблице SQL свой собственный первичный ключ?
- 13. Первичный ключ SQL-кода
- 14. Как преобразовать кластерный первичный ключ в некластеризованный, не отбрасывая ссылки на внешние ключи в SQL Server 2005
- 15. SQL один первичный ключ
- 16. Что происходит, когда я бросаю столбец в SQL Server
- 17. Первичный ключ SQL Server в поле datetime
- 18. Составной первичный ключ и дополнительные индексы
- 19. Первый кластерный первичный ключевой код. Первый код
- 20. Где разместить первичный ключ
- 21. SQL: добавьте первичный ключ к неистинному индексу
- 22. SQL Первичный ключ Дублирующие значения
- 23. SQL: композитный первичный ключ, ограничение на каскаде
- 24. Что происходит, когда я компилирую?
- 25. Что происходит с этим sql-запросом?
- 26. SQL Частичный первичный ключ, составной ключ
- 27. Что происходит, когда первичный ключ auto increment в MySQL достигает максимального значения
- 28. Что такое ключ-кандидат и первичный ключ?
- 29. SQL. Уникальный и первичный ключ
- 30. MYSQL - Что такое первичный ключ?
Адрес: Удаление кластерного индекса pk-ограничения не отбрасывает самих данных (по крайней мере, у меня проблемы, если это так). Вы имеете в виду, что данные переупорядочиваются? –
Кластерный индекс определяет, как данные физически расположены. Когда вы его удаляете, данные будут перегруппированы, но не будут удалены, не стоит беспокоиться. –
Хорошо. Так зачем же его перестраивать? Если я не укажу порядок, почему он собирается беспокоиться о том, чтобы составить свой собственный? –