NOSNEVETS\ONAP. Причины, вызывающие необходимость применения такой индексации, рассмотрены в главе 3.
Представление (view) — это средство, которое традиционно используется для отображения данных множеством различных способов. Если вы, как и мы, в прошлом страдали от установленных Oracle ограничений на обновление представлений через SQL, вы полюбите новые триггеры INSTEAD OF, которые позволяют задавать способы обработки INSERT, UPDATE и DELETE практически для любого представления. Как вы увидите из примеров главы 3, мы действительно имеем в виду любое представление!
Ускоренный доступ к данным
СУБД OracleS характеризует значительное повышение производительности по сравнению с ее предшественницей Oracle?. В частности, приложения для работы с хранилищами данных существенно выиграют от применения новой bitmap-технологии параллельного соединения по схеме "звезда ". Благодаря этой технологии Oracle находит нужные строки в таблице фактов (fact table) no bitmap-индексам, а на втором проходе, или фазе, соединяет их с соответствующими строками в таблицах размерностей. При такой параллельной обработке запросы данного типа выполняются в несколько десятков раз быстрее.
На более простом, но не менее значительном уровне Oracle реализовала новый метод доступа, называемый полным сканированием индекса (index full scan), при котором блоки-листья индекса читаются с начала до конца. Поскольку при таком сканировании читаются все блоки-листья индекса, здесь можно использовать чтение с упреждением; во многих случаях это происходит быстрее полного сканирования таблицы. Чем длиннее строки и короче ключи, тем выше вероятность того, что полное сканирование индекса будет выполнено быстрее полного сканирования таблицы. Если таблица проанализирована и доступен индекс для столбца типа NOT NULL, то оптимизатор запросов может использовать полное сканирование индекса в тех ситуациях, где раньше он пользовался полным сканированием таблицы.
Oracle также реализовала усовершенствованное средство организации очередей на базе сервера — Advanced Queuing (Oracle/AQ), доступ к которому осуществляется при помощи нового пакета PL/SQL под названием DBMS_AQ. Этот пакет организует систему передачи сообщений между клиентом и сервером и может добиться от клиентов высокой пропускной способности транзакций, потому что позволяет им просто ставить сообщение в очередь, а не непосредственно воздействовать на базу данных. Естественно, такой подход требует тщательного проектирования, чтобы обеспечить целостность данных и приложений, но, в принципе, все это похоже на промежуточное программное обеспечение (middleware) без промежуточного звена.
Мы используем нотацию, принятую для языка С, согласно которой двоичный нуль в строке указывается как \0.
18
Огп <•/<'#