Выполнение набора запросов для заполнения кэша

Одна из стратегий максимального увеличения количества потенциальных попаданий в кэш заключается в выполнении набора запросов для заполнения кэша.

Ниже приведены некоторые рекомендации по типам запросов, которые следует использовать при создании набора запросов для заполнения кэша.

  • Распространенные предварительно созданные запросы. Часто выполняемые запросы, особенно те, обработка которых затратна, превосходно подходят для заполнения кэша. Запросы, результаты которых встроены в инфопанели, служат хорошими примерами распространенных запросов.

  • Списки SELECT без выражений. Исключение выражений в столбцах со списками SELECT расширяет возможность попаданий в кэш. Кэшированный столбец с выражением может дать ответ только на новый запрос с таким же выражением; кэшированный столбец без выражений может дать ответ на запрос этого столбца с любым выражением. Например, кэшированный запрос, такой как:

    SELECT QUANTITY, REVENUE...
    

    может дать ответ на новый запрос, такой как:

    SELECT QUANTITY/REVENUE... 
    

    но не наоборот.

  • Без фразы WHERE. Если в кэшированном результате отсутствует фраза WHERE, его можно использовать в ответах на запросы, которые соответствуют правилам попаданий в кэш для списка выбора с любой фразой WHERE, включающей столбцы в проекционном списке.

В общем, наилучшие запросы для заполнения кэша — это запросы, при выполнении которых сильно потребляются ресурсы базы данных и которые, вероятно, будут использоваться многократно. Будьте внимательны, чтобы не заполнять кэш простыми запросами, возвращающими много строк. Для таких запросов (например, SELECT * FROM PRODUCTS, где PRODUCTS сопоставляется непосредственно одной таблице базы данных) требуется очень небольшая обработка в базе данных. В их случае расходуются сетевые и дисковые ресурсы, что кэширование не устраняет.

Когда Oracle Analytics Cloud обновляет переменные семантической модели, проверяются бизнес-модели, чтобы определить, ссылаются ли они на эти переменные семантической модели. В этом случае Oracle Analytics Cloud очищает весь кэш для таких бизнес-моделей. См. раздел Влияние изменений семантической модели на кэш запросов.