Кластерный и некластеризованный индекс - SQL Server и Oracle?

Обзор кластеризованного и некластеризованного индекса - не специфичного для БД (насколько я понимаю):

Кластерный индекс: физический порядок данных. В результате таблица может иметь только один кластеризованный индекс.

Некластеризованный индекс: для каждой таблицы можно настроить один или несколько некластеризованных индексов. Не влияет напрямую на организацию страницы данных.

Есть ли разница между тем, как Microsoft SQL Server и Oracle «управляют» кластерными и некластеризованными индексами? Или в DBS то же самое?

Любое руководство было бы здорово!


person user2112730    schedule 01.04.2013    source источник


Ответы (1)


Oracle не имеет концепции кластерного индекса. Итак, ваша предпосылка о том, что вопрос может быть независимым от базы данных, ошибочна. В Oracle также нет концепции «страницы», как в SQL Server.

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

person Justin Cave    schedule 01.04.2013
comment
Я думаю, что нет реальной разницы между кластеризованным индексом в SQL Server и индексированной таблицей в Oracle (кроме названия). - person a_horse_with_no_name; 08.11.2014
comment
В случае IOT реализация совсем не отличается. Оба движка используют B-дерево и не используют кучу. - person usr; 08.11.2014