Кластерный и некластеризованный индекс - SQL Server и Oracle?
Обзор кластерного и некластеризованного индекса - не специфично для БД (как я понимаю):
Кластерный индекс: физический порядок данных. В результате таблица может иметь только один кластерный индекс.
Некластеризованный индекс. Для одной таблицы можно настроить один или несколько некластеризованных индексов. Не влияет напрямую на организацию страницы данных.
Есть ли разница между тем, как Microsoft SQL Server и Oracle "управляют" кластерными и некластеризованными индексами? Или это то же самое в DBS?
Любое руководство было бы здорово!
1 ответ
В Oracle нет концепции кластерного индекса. Таким образом, ваша предпосылка, что вопрос может быть независимым от базы данных, ошибочна. Oracle также не имеет понятия "страница", как SQL Server.
В ситуациях, когда физический порядок данных в таблице действительно важен, Oracle позволяет определять таблицу как организованную по индексу таблицу или хеш-кластер из одной таблицы. Но реализация полностью отличается от реализации кластерного индекса. Например, таблица, организованная по индексу, будет хранить данные таблицы в индексе, поэтому сегмент таблицы отсутствует (если только вы не определили сегмент переполнения).