Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Oracle CREATE ALTER INDEX(продолжение 1)


CREATE ALTER INDEX

Полный синтаксис следующий.

GLOBAL PARTITION BY
{RANGE (список_столбцов) (PARTITION [имя_раздела] VALUE LESS THAN (список_значений)
[physical_attributes_clause] [TABLESPACE имя_табличной_области] [LOGGING | NOLOGGING]}[, …]), | HASH (список_столбцов) (PARTITION [имя_раздела]
{[TABLESPACE имя_та6личной_о6ласти] [[OVERFLOW] TABLESPACE имя_табличной_области]
[VARRAY имя_уаггау STORE AS {LOB имя_сегмента_области] [LOB (имя) STORE AS
[имя_сегмента]
[TABLESPACE имя_табличной_области]}} [STORE IN (имя_табличной_области […])] [OVERFLOW STORE IN (имя_табличной_области [, …]),} […]}

В предложении GLOBAL PARTITION объявляется, что глобальный индекс секционируется вручную методом линейного или хеш-секционирования на секции с именами имя_секции. (По умолчанию индекс секционируется точно так же, как таблица, с которой он связан, если она секционирована.) Вы можете указать до 32 столбцов, однако ни один из них не может относиться к типу ROWID. Вы можете включить в список через запятую одну или несколько секций с соответствующими атрибутами. Атрибуты следующие.


RANGE

Создается глобальный индекс с линейным секционированием на основе диапазона значений в столбцах таблицы, которые перечислены в списке/столбцов.

VALUE LESS THAN (список/значений)

Устанавливается верхняя граница текущей секции глобального индекса. Значения в списке значений соответствуют столбцам в списке _столбцов. В обоих этих списках значения перечисляются через запятую. Оба списка зависят от префиксов. Это означает, что в таблице со столбцами (a, b, c) вы можете определить секционирование по столбцам (а, b) или (а, b, с), но не (Ь, с). Последним значением в списке всегда должно быть ключевое слово MAXVALUE.

HASH

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

LOCAL секционирование

Поддерживается локальное секционирование индексов в форме линейного секционирования (range partitioning), хеш-секционирования (hash partitioning), списочного секционирования (list partitioning) и комбинированного секционирования (composite partitioning). Вы можете не определять ни одной секции или определить их несколько (в списке через запятую) и указать для них атрибуты. Если предложение опущено, платформа Oracle генерирует одну или несколько секций в соответствии с количеством секций таблицы. Секционирование индекса выполняется одним из трех способов. Индексы с линейным и списочным секционированием

Применяются к обычным таблицам или таблицам с одинаковыми секциями. Для индексов с линейным и списочным секционированием (которые являются синонимами) используется следующий синтаксис.

LOCAL [(PARTITION [имя_раздела] {[параметры_физических_атрибутов] [TABLESPACE имя_табличной_области] [LOGGING | NOLOGGING] | [COMPRESS | NOCOMPRESS]} [, …])]

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

INITRANS int

Указывается первоначальное количество одновременных транзакций для каждого блока базы данных. Значение может лежать в диапазоне от 1 до 255. Если предложение физические атрибуты опущено, по умолчанию принимаются PCTFREE 10 и IN1TRANS 2.

LOGGING | NOLOGGING

Указывается, что платформа Oracle должна записывать (LOGGING) или не записывать (NOLOGGING) информацию о создании индекса в файл журнала. Это предложение также определяет заданные по умолчанию действия для загрузки больших массивов данных при помощи Oracle SQL*Loader. Для секционированных индексов это предложение определяет значения по умолчанию для всех секций, сегменты, связанные с секциями, а также значения по умолчанию, применяемые во всех секциях и подсекциях, добавляемых позже при помощи инструкции ALTER TABLE…ADD PARTITION. (Если вы используете предложение NOLOGGING, мы рекомендуем сделать полное резервное копирование после загрузки индекса в том случае, если после сбоя возникла необходимость его перестройки.)

Источник