индекса, в которые помещались новые ключи. Индексы с реверсированным ключом позволяют выполнить преобразование ключа в рамках определения схемы, поэтому нет необходимости программировать данную операцию в приложении.
Используйте эти индексы лишь в том случае, когда они действительно нужны, потому что (по причинам, которые, надеемся, для вас очевидны) индексы с реверсированным ключом могут поддерживать только поиск по равенству, но не поиск в диапазоне.
В книге "Oracle: проектирование баз данных", мы писали, что не особенно приветствуем суррогатные ключи, но мы — реалисты и знаем, что существует много работающих приложений, которые используют для генерации ключей последовательность или подобный механизм и применяют эти ключи только для соединений по равенству. Если такие приложения страдают от конкуренции за доступ к блокам-листьям индекса при многопользовательских операциях вставки, то индекс с реверсированным ключом — это средство, которое может существенно повысить производительность.
Еще одно потенциальное достоинство заключается в том, что использование индекса с реверсированным ключом предотвращает скопление новых индексных входов в конечном листовом блоке индекса, поэтому операции вставки могут воспользоваться преимуществом распределения свободного пространства внутри индекса и повторно использовать области, которое были заняты удаленными ключами. При работе с традиционным индексом, имеющим структуру В*-дерева, мы советуем устанавливать значение PCTFREE в нуль, если все новые ключи должны добавляться в конец диапазона ключей. Но если известно, что индекс с реверсированным ключом вырастет на 25%, то воссоздания или перестройки индекса при значении PCTFREE=20 должно быть достаточно для того, чтобы все новые элементы вставлялись без дополнительных усилий по контролю за использованием пространства. (Значение PCTFREE действительно равно 20, а не 25 — рассматривайте каждый блок индекса как состоящий из пяти равных частей, из которых четыре используются после построения индекса, а один зарезервирован для 25%-ного роста.)
Неструктурированные данные и LOB
В данном разделе описаны средства, с помощью которых в OracleS поддерживаются новые типы данных, предназначенные для использования с неструктурированными данными большого объема. Мы рассмотрим эти новые средства (типы данных LOB и BFILE и пакет DBMS_LOB), а также связанные с ними особенности проектирования.
Вообще-то, большие объекты (LOB) не относятся к средствам объектной поддержки OracleS. Функциональные возможности этого типа данных присутствуют в OracleS независимо от наличия объектов. Данное средство предназначено для расширения возможностей сервера в обработке "длинных" монолитных скалярных данных. Оно позволяет значению иметь длину
70	Orac.lcS