среда, 20 июня 2007 г.

Oracle 11g гредет....

Oracle официально объявила о дате выпуска очередной версии СУБД - Oracle 11g. Это событие запланировано на 11 июля 2007 года и пройдет оно в Нью-Йорке. На конференции OpenWorld (в октябре прошлого года) представители Oracle пролили немного света на изменения, которые войдут в 11ый релиз. Как всегда, обещаются улучшения производительности, масштабируемости и т.д. Кроме того, была обещана новая технология компрессии данных, которая позволит значительно сократить размер БД, и механизм хранения неструктурированных данных... Но что же нас ждет на самом деле? Узнать более подробную информацию о нововведениях можно узнать как минимум в двух местах:


Как всегда, много всяких улучшений и новинок, наиболее интересными среди которых мне показались следующие:
  • Новый тип данных "simple_integer". Переменные это типа всегда NOT NULL и работа с ними выполняется быстрее, чем с переменными типа PLS_INTEGER.

  • Серверный пул соединений (server-side connection pooling). Позволяет нескольким клиентам использовать один и тот же пул сессий(должен совпадать USERID). Клиенты могут соединяться/отсоединяться с БД без затрат на создание серверной сессии.

  • Кэширование результатов запроса. Результаты SQL-запросов кэшируются. Размер кэша устанавливает DBA. Включается функциональность для таблицы следующей командой:
     alter table _ТАБЛИЦА_ cache results 

  • Виртуальные колонки (Virtual columns). Виртуальные колонки представляют из себя функции.Соответственно, индексы по таким колонкам являются индексами над функциями. В выражениях могут использоваться: колонки таблицы, константы, SQL-функции или функции, созданные пользователем. Поддерживается так же секционирование. Виртуальные колонки не могут использоваться в индексно-организованных (index organized) или внешних (external) таблицах. Прямая запись для таких колонок не возможна.

  • Ключевое слово "super" для объектно - ориентированных DDL. Новое ключевое слово используется в экземплярах производного типа (перегруженного) для того, чтобы сослаться на базовый класс, от которого текущий был унаследован.

  • Ключевое слово "continue" в циклах. Без комментариев... :)... давно пора.

  • Хранилище XML (XML data storage). Начиная с 11ой версии, XML можно хранить как CLOB или бинарный тип данных.

  • Автоматическое секционирование. Автоматическое создание секций.

  • Порядок срабатывания тригера. Можно указывать порядок выполнения тригеров.

  • Невидимые индексы (Invisible indexes). Вместо того, чтобы удалять индекс, если он более (или пока) не нужен, можно просто сделать его невидимым. В результате при выполнении SQL-запросов этот индекс использоваться не будет.

  • Создание и перестроение индекса в online (create and rebuild index online). Создание и перестроение индекса может выполняться при выполнении DML операции над таблицей. Ранее для этого требовалась эксклюзивная блокировка. Кроме того, перестроение индекса (rebuild) быстрее, чем удаление (drop) и создание (create) индекса.

  • Использование последовательностей в PL/SQL. Ранее, для того, чтобы получить следующее значение из последовательности (sequence.nexval) необходимо было использовать явный или неявный курсор (SQL). Теперь курсор более не нужен, и следующий код будет работать:
    v_val := Sequence.nexval;

  • Read-only таблицы. К таким таблицам не применимы DML-операции, а так же select for update. Перевод в данный режим таблиц выполняется следующей командой:
     alter table _ТАБЛИЦА_ read only 

... т.д. Список, естественно, не полный. Окончательный будет известен только после официального релиза. Ждем....

4 комментария:

Анонимный комментирует...

сильно не хватает CTE как в MSSQL2005 с union. Для рекурсивных вычислений.

Timoshinin Evgeny комментирует...

Не работал плотно с MSSQL, но при беглом ознакомлении предполагаю, что CTE - это временный именованный результирующий набор. в Oracle аналогичная конструкция присутствует еще с 9ой версии:

with s_qry( select ... from ... )
select *
from s_qry

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

Petya комментирует...

К слову сказать, если вам однажды понадобится подавить чей-нибудь мобильный телефон или другое средство связи, то воспользуйтесь для этого Блокираторы сотового.

123 комментирует...

It was extremely interesting for me to read the blog. Thanx for it. I like such themes and anything connected to them. I definitely want to read more soon.
Alex
Cell blocker