секция индекса, но мы все равно можем работать без определенных секций индекса, если не вводятся новые ключи, которые входят в свою секцию. Так, когда модель генерирования ключей имеет предсказуемое распределение, от секционирования индекса можно получить определенные административные преимущества. Если же индекс не особенно велик и новые ключи в данном диапазоне генерируются более-менее случайно, то секционирование индекса вряд ли имеет смысл.
Вот еще один пример, демонстрирующий преимущество глобально секционированного индекса. Рассмотрим список рассылки, где таблица секционирована на основании почтового индекса. С помощью этой таблицы нам нужно осуществлять поиск клиентов только по имени. При наличии в списке рассылки даже нескольких сотен миллионов имен и адресов необходимость секционирования индекса имен все равно находится под вопросом. Тем не менее, глобальное секционирование дает очевидное преимущество в производительности, потому что путем обращения к одной секции мы можем гарантированно найти все вхождения одного имени.
CREATE INDEX mlist_names ON mlist (last_name, first_name) GLOBAL PARTITION BY RANGE ( PARTITION ad VALUES LESS THEN ('E') , PARTITION eq VALUES LESS THEN ('H') , PARTITION hm VALUES LESS THEN ('N') , PARTITION nt VALUES LESS THEN CU') , PARTITION uz VALUES LESS THEN (MAXVALUE)
Рост производительности, который мы получим при обработке транзакций благодаря наличию всего одного дерева индекса, может перевесить факторы доступности данных.
Как обычно, вам нужно принимать проектные решения относительно секционирования таблиц путем сравнения достоинств и недостатков всех возможных вариантов.
Индекс-таблицы
Иногда первичный ключ таблицы включает большинство ее столбцов, а во многих случаях — всю строку. Вот типичные примеры:
•    одностолбцовые справочные таблицы, где коды не требуют пояснений и описания (например, коды государств или валют);
•    промежуточные таблицы, используемые для разрешения отношений "многие ко многим", если такие отношения не имеют собственных атрибутов, например таблица languages_spoken может быть промежуточной между таблицами сотрудников и языков, на которых они говорят. (Мы предполагаем, что вам не нужны сведения об уровне знания языка сотрудником.)
66	Oracle 8