Архив

Публикации с меткой ‘11G’

Result Cache

SQL Query Result Cache

Возможности Query Result Cache

  • Позволяет кэшировать результаты запросов, подзапросов.
  • Кэш совместно используется SQL операторами и сессиями пользователей.
  • Значительное ускорение операций чтения
  • Кэш обновляется при изменении таблиц, из которых получен кэшируемый результат
  • Result Cache для параметризованного запроса может переиспользоваться если запрос выполняется с теми же параметрами
  • Добавление RESULT_CACHE во вложенные представления отключает оптимизацию между внешним и вложенным представлением в целях максимального повторного использования результата из кэша

Кэширование отключено в случае

  • Временные или dictionary-таблицы
  • Недетерминированные PL/SQL функции
  • Использование CURRVAL и NEXTVAL
  • Недетерминированные SQL функции: sysdate, current_date и др.
  • Запрос основанный на согласованном чтение данных, которые старше чем последняя сохраненная версия, не будет кешироваться


Для явного указания, что запрос необходимо кэшировать используем хинт result_cache.

select /*+ RESULT_CACHE */
       p.prod_category,
       sum(s.amount_sold) revenue
  from products p, sales s
 where s.prod_id = p.prod_id
       and s.time_id between to_date('01-JAN-2006', 'dd-MON-yyyy')
                             to_date('31-DEC-2006', 'dd-MON-yyyy')
 group by rollup(p.prod_category);

------------------------------------------------------------------
| Id  | Operation                   | Name                       |
------------------------------------------------------------------
|   0 | SELECT STATEMENT            |                            |
|   1 |  RESULT CACHE               | fz6cm4jbpcwh48wcyk60m7qypu |
|   2 |   SORT GROUP BY ROLLUP      |                            |
|*  3 |    HASH JOIN                |                            |
|   4 |     PARTITION RANGE ITERATOR|                            |
|*  5 |      TABLE ACCESS FULL      | SALES                      |
|   6 |     VIEW                    | index$_join$_001           |
|*  7 |      HASH JOIN              |                            |
|   8 |       INDEX FAST FULL SCAN  | PRODUCTS_PK                |
|   9 |       INDEX FAST FULL SCAN  | PRODUCTS_PROD_CAT_IX       |
------------------------------------------------------------------

Читать дальше про “Result Cache” »

Categories: SQL Tags: ,