Новые возможности СУБД Линтер Шестнадцатая ежегодная техническая конференция Корпоративные базы данных Алексей Егоров Михаил Ермаков
Слайд 2 Кэширование select id, ch from test /* +ANSCASHE*/ select * from $$$SYSRL select * from SYSTEM.$$$SYSRL Кэш результатов выполнения запросов выполнен на двух уровнях: кэш оттранслированных запросов и кэш результатов выполненных запросов.
Слайд 3 Квантование Улучшено квантование вычисления предикатов IN/NOT IN в отсутствие индексов Пример: select smth from T1 where T1.C1 in (select T2.C2 from T2 where condition) and … T1.C1 и T2.C2 – не индексированы. улучшено квантование запросов, требующие перенумерации ответов, приемущественно запросы ко VIEW и содержащие подзапросы во FROM конструкциях
Слайд 4 Добавлена функциональность пользовательских сообщений в AUDIT Изменена структура фразовых индексов Разрешено индексирование BLOB в любых кодировках
Слайд 5 Оптимизации Оптимизировано создание бит- векторов для временных таблиц Ускорена процедура восстановления БД после сбоев, в том числе в режиме горячего резервирования
Слайд 6 Оптимизации Доработано использование хинта /*+LAST*/ для предиката BETWEEN. 1>select name from A 2>where A.id between 10 and >and A.id=B.id 4>and B.id=25
Слайд 7 Расширение SQL Реализована поддержка PREFERENCES Возможность удаления столбца таблицы Разрешены выражения в конструкции DEFAULT (Generated columns) Введен оператор MERGE Введена конструкция IF NOT EXIST
Слайд 8 Выполнение блока кода Введен механизм исполнения блока execute block
Слайд 9 Транзакции Реализован механизм двухфазной фиксации коммита. Добавлена возможность управлять закрытием подчиненных курсоров в командах COMMIT и ROLLBACK
Слайд 10 SQL-транслятор Существенно уменьшен размер внутреннего представления запроса. Появилась возможность с помощью SQL- запросов напрямую работать с колонками BLOB create or replace table test(bl blob character set "UCS2"); insert into test(bl) values(' aaa '); select lenblob(bl), getblobstr(bl, 1, 60) from test; | 50| aaa |
Слайд 11 SQL-транслятор update test set bl=insert(bl, 3, 10, 'aa'); select lenblob(bl), getblobstr(bl, 1, 60) from test; | 50|0aa 6789 aaa | update test set bl=insert(bl, 23, 6, HEX(' ')); select lenblob(bl), getblobstr(bl, 1, 60) from test; | 50|0aa | update test set bl=replace(bl, '12345', 'jjj'); | 50|0jjj 6789 aaa 0jjj | |update test set bl=replace(bl, HEX(' '), HEX(' ')); select lenblob(bl), getblobstr(bl, 1, 60) from test; | 50|0jjj 6xx9 aaa 0jjj 6xx9.....|
Слайд 12 Размер сообщений Появилась возможность использовать при обработке запроса неограниченный объем памяти Добавлена возможность сортировки широких записей (более 4 К) Размер сообщений между компонентами ЛИНТЕР увеличен до 64 К.
Слайд 13 Работа со временем Расширена возможность учета часовых поясов при работе с локальным временем. Реализована поддержка операций над интервальным временем: 1.Вычисление интервала времени между значениями дата-время 2.Сложение/вычитание интервалов времени 3.Умножение/деление интервалов времени
Слайд 14 Поддержка платформ Новые платформы On-Time RTOS32 Apple iOS Google Android Maemo AstraLinux Обновления на платформах Windows SUN Solaris HP-UX Linux MAC OS X FreeBSD Unix System V QNX ОСРВ (ОС 2000) OS-9000 VxWorks OS-9
Слайд 15 Интерфейсы ADO.NET добавлена поддержка Mono 2 в Linux, LINQ, интеграция с Microsoft VS,.Net4, Nhibernate Добавлена поддержка интерфейса RUBY Добавлен XPO для пакета DevExpress
Слайд 16 Интерфейсы PHP Добавлено автоматическое получение BLOB полей, добавлена возможность BIND для BLOB, добавлены интерфейсы PDO и ADO, внесены многочисленные оптимизации. Perl Добавлены дополнительные функции работы с BLOBдоработан интерфейс для 6-й версии, добавлена GetColInfo и другие функции.
Слайд 17 Мастер запросов
Слайд 18 Мастер запросов
Слайд 19 Мастер запросов
Слайд 20 Новые возможности редактора в рабочем столе
Слайд 21 Спасибо за внимание
Слайд 22 Вопросы?