Данные на диске как раньше хранятся в построчном виде, в таком же виде они загружаются в буферный кэш. Поколоночное представление существует только в памяти, в отдельной специально выделенной области. Данные в него загружаются либо при старте экземпляра, либо при первом обращении к выбранной таблице или партиции.
Таким образом, поддержка дополнительного формата оказывает минимальное влияние на производительность даже в высоконагруженных OLTP системах. При этом, появилась возможность отказаться от использования индексов, создаваемых специально для ускорения аналитических запросов. Для использования новой опции требуется задать размер соответствующей области памяти «inmemory_size = xxx GB» и указать таблицы, для которых требуется включить новое поколоночное представление «alter table | partition … inmemory;».
Использование опции In-Memory абсолютно прозрачно для приложений и не требует никаких изменений кода. Оптимизатор Oracle при построении плана выполнения запроса сам определяет обратиться ли к поколоночному представлению таблицы, если оно присутствует, или же использовать традиционный формат данных из буферного кэша.
|