IMO,即In-MemoryOption。为Oracle12c中最为重要的新特性之一。12.1开始支持该新特性。
目录
基本介绍
可以启用In-Memory列存储功能的级别
适合使用IMO功能的操作类型
可以使用INMEMORY子句的命令
查询数据库中哪些segment启用了IM
不适合使用IM的操作
数据压缩
IM的存储设置
与IMO相关的初始化参数
在表,表空间,或者物化视图上启用IM
与IM相关的等待事件
与IM相关的统计信息
一.基本介绍
In-Memory列存储组件,为12c中SGA的可选组件。可以用来存储表、表分区、以及其他数据库对象的副本。启用该选项,我们可以在SGA中按列存储某些对象,而不是原来的按行存储。
ps:看到按列存储,会有人想到Sybase的IQ数据库咩?
In-Memory列存储是SGA中的一个新的静态池(staticpool)。所谓静态,也就是说里面的对象需要我们dba手工管理。在该池中,数据都是按列存储,而原来sga的dbbuffercache中,数据依然还是按行存储。这样,整个内存,就可以同时提供数据的按行和按列存储。要启用该选项,INMEMORY_SIZE参数,需要设置为非零值。当然,不能小于100M,否则,你会碰到如下错误:
二.可以启用In-Memory列存储功能的级别
Column
Table
Materializedview
Tablespace
Partition
如果在表空间级别上启用该功能,则所有存储在该表空间中的表和物化视图都将继承这一功能。
三.适合使用IMO功能的操作类型
Aquerythatscansalargenumberofrowsandappliesfiltersthatuseoperatorssuchasthefollowing:=,
Tag标签: