Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Сводные таблицы, введенные в DB2

Сводные таблицы, введенные в DB2Сводные таблицы, введенные в DB2, позволяют обрабатывать консолидированные данные одной или нескольких таблиц в отдельной таблице, обновляя ее при каждом изменении информации в исходных таблицах. Самой интересной особенностью реализации сводных таблиц в DB2 является то, что к ним могут создавать запросы не только пользователи, но и сам оптимизатор СУБД, если запрашиваемая пользователем информация прямо или косвенно может быть получена из сводных таблиц. Стоит отметить, что сводные таблицы повышают эффективность работы только с более или менее статичными данными. Если исходные таблицы изменяются часто (т. е. относительно них часто выполняются инструкции DML), постоянное обновление сводной таблицы может негативно сказаться на общей производительности работы с базой данных.

В DB2 существует два типа сводных таблиц. Таблицы, созданные с предложением refresh deferred, могут обновляться по требованию с помощью инструкции refresh table Имя_таблицы. Если же использовано предложение refresh immediate, сводная таблица будет автоматически удаляться и воссоздаваться при каждом изменении таблиц, упомянутых в предложении where. В любом случае перед тем как начать использование созданной сводной таблицы (пользователем или оптимизатором), необходимо ее хотя бы раз обновить с помощью инструкции refresh table.

Сводные таблицы имеют множество ограничений. К примеру, в запросах отбора к ним нельзя использовать внешние объединения, упорядочение и недетерминистские функции. К тому же обязательно нужно иметь предложение group by и столбец count(*) , все столбцы должны быть именованы и т. д. Все правила и ограничения можно найти в документации к DB2. Приведем пример таблицы orderline_summary, в котором подытоживаются заказанные и доставленные количества товаров. СУБД Oracle предлагает аналогичные возможности с помощью материализованных представлений (о них речь пойдет далее), а Microsoft SQL Server позволяет создавать индексированные представления.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *