Comments 12
Добавьте хабракат.
если интересна тема кэширования могу по позже написать, как организовать кэширование в SGA
imho курсоры c rowtype`ами как-то уж очень массивно. можно обойтись ассоциативным массивом, заполняемом при инициализации пакета. для большинства задач этого хватит с головой. тем более, если мне не изменяет память для них можно использовать BULK COLLECT
ну это я так, чтоб придраться )))
ну это я так, чтоб придраться )))
а про динамическое добавление значение можно подробнее.
как между сессиями все это синхронизировать?
как между сессиями все это синхронизировать?
Все просто — первичная инициализация — просто создание объекта. Далее при вызове функции сначала пробиваем его по кэшу, если есть — сразу возвращаем результат, если нет — выполняем select из справочника по конкретной ID. Результаты заносим в кэш. Если потом будет вызов функции с тем же параметром — он сразу же найдется в кэше и повторного select не будет.
А синхронизации между сессиями никак (для версии ниже 11, для 11 новая фича есть) — это написано в самом начале. У меня данный принцип кэширования применяется для Job'a, который считает разнообразные аналитические показатели.
А синхронизации между сессиями никак (для версии ниже 11, для 11 новая фича есть) — это написано в самом начале. У меня данный принцип кэширования применяется для Job'a, который считает разнообразные аналитические показатели.
Спасибо, интересно. Я так понял что это кеширование подходит для малых объемов данных, так как временная таблица хранится в памяти.
Ну не совсем временная таблица — это на самом деле коллекция. У оракла есть понятие временной таблицы — а именно temporary table. Почитайте документацию и тома кайта «Oracle для профессионалов» много интересного найдете для себя.
Вообще если вам интересно могу еще много чего написать по ораклу — просто на сколько вы видите данная тема не пользуется популярностью на хабре, поэтому я тут и не пишу ничего. Если будет интересно хотя бы одному человеку могу начать активно писать про внутреннее устройство и работу сервера.
Вообще если вам интересно могу еще много чего написать по ораклу — просто на сколько вы видите данная тема не пользуется популярностью на хабре, поэтому я тут и не пишу ничего. Если будет интересно хотя бы одному человеку могу начать активно писать про внутреннее устройство и работу сервера.
Как раз заказал книжки. Привезут — буду читать. Да, мне интересна эта тема. Если не сложно, можете написать что-то на тему оптимизаци SQL запросов при работе c dblink-ами. У меня постоянная проблема connection timeout при длительных запросах (15 минут) и подвисшие днями сессии, которые опять же возникают от проблем со связью. Хотелось бы узнать как с этим бороться. Если непонятно объяснил, расскажу подробнее.
Sign up to leave a comment.
Кэширование на уровне пакета