эффективность работы в глобальных временных таблицах по сравнению с обычными таблицами - оракул 10g - PullRequest
0 голосов
/ 10 октября 2010

Я использую большое количество глобальных временных таблиц для генерации огромных отчетов по базе данных Oracle 10g.Каждый отчет состоит из 4-5 глобальных временных таблиц (GTT) за слово.Но насколько я понимаю концепцию GTT, данные создаются на лету для каждой сессии для различного набора параметров.

Например, в моем сценарии 20 пользователей генерируют отчет, скажем, за последний месяцданных о продажах, и это может привести к 1000 казням в день.Но если мы предположим, что пользователь запрашивает самые последние данные о продажах чаще, чем мы можем использовать некоторую кеш-память для хранения диапазона данных о продажах, которые запрашиваются чаще, чем это делает интернет-браузер?Также были бы полезны любые другие предложения по тонкой настройке GTT.

1 Ответ

1 голос
/ 10 октября 2010

Похоже, вы слишком много используете GTT. Они обычно не нужны очень часто в запросах Oracle - в отличие от SQL Server, где (я читал) более распространено и целесообразно использовать временные таблицы. Не зная ваших требований в деталях, трудно рекомендовать подход, но материализованные представления являются одним из способов «кэширования» результатов запроса один раз и использования их много раз.

...