Продолжается подписка на наши издания! Вы не забыли подписаться?

Индексные массивы в Oracle PL/SQL

Автор: Виталий Хожайнов, www.foxbase.ru
Опубликовано: 07.07.2010
Версия текста: 1.1
Кэширование простой таблицы индексным массивом.
Кэширование сложных структур данных индексными массивами.
Проблема с индексом
Сортировка индексных массивов Oracle PL/SQL
Сортировка по индексному ключу
Произвольная сортировка

Язык программирования PL/SQL, предназначенный для программирования серверной части приложений, является очень мощным инструментов в умелых руках. Одним из интереснейших инструментов эффективного программирования являются такие представители коллекций PL/SQL как индексные таблицы, или ассоциативные массивы. Одним из основных применений индексных таблиц, на мой взгляд, является кэширование справочных таблиц приложений для быстрого доступа к часто используемым данным. Быстрый доступ автоматически обеспечивается благодаря поиску записи в индексной таблице по индексному ключу. В этом случае поиск будет выполняться в памяти максимально быстро.

Но использование индексных таблиц в качестве кэш-таблиц имеет и существенный недостаток. Индексные таблицы определяются как глобальный объект PL/SQL-пакета и существуют на уровне сессии пользователя, поэтому в каждой сессии данные в них будут считываться из таблиц базы данных и занимать некоторую память. В этом смысле такое кэширование данных должно использоваться либо для небольших объемов данных, для которых критична скорость выборки, либо для крупных расчетных задач, которые запускаются нечасто отдельными пользователями.

Кэширование простой таблицы индексным массивом.

<...>

Приведенное решение выглядит довольно простым. Ключевым элементом этого метода можно считать двумерный массив sort. Конструкция sort(arr(n))(n):=null; заполняет этот массив сначала значениями массива arr, но, так как они могут повторяться, то значения ключа запоминаются во втором измерении массива sort.

Используя приведенную выше методику, можно реализовать сколь угодно сложные методы сортировки, фактически создавая вспомогательный индексный массив с требуемыми условиями сортировки.

........................
"С полным содержанием данной статьи можно ознакомиться в печатной версии журнала"

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

Copyright © 1994-2016 ООО "К-Пресс"