oracle 12c (内存列存储)IM column store
2017-03-14 18:29
465 查看
oracle 12c (内存列存储)IM column store 1.关于内存列存储的说明 1)内存列存储是SGA里的一个静态的池。以列为单位的方存储元数据。不替代buffer pool,只是其的补充。 因此oracle可以存储列或行的方式存储元数据在内存里。 2)列存储的数据可以压缩,且sql查询语句直接访问压缩数据 3)当你想把对象放到列存储里时,可以控制对象的优先级。 4)支持的版本为12.1.0.2或更高的兼容性 2.你能够在如下几种级别中打开内存存储 1)列(column) 2)表(tables) 3)物化视图(materialized view) 4)表空间(tablespace) 5)分区(partition) 3.内存列存储可以改善以下操作 1)多行查询且带有= < > 与IN的过滤符号的查询语句 2)查询少量字段但有较多字段的表或物化视图的语句,例如查询某个字段有100表中的5列。 3)小表连接大表的查询语句 4)聚合数据的查询语句 4.你能用以下语句实现数据库对象放到类存储中 CREATE TABLE ALTER TABLE CREATE TABLESPACE ALTER TABLESPACE CREATE MATERIALIZED VIEW ALTER MATERIALIZED VIEW 5.查看那些对象呗放入到了列存储中 SELECT OWNER, SEGMENT_NAME, INMEMORY_PRIORITY, INMEMORY_COMPRESSION FROM V$IM_SEGMENTS; 6.内存列存储不能改善以下类型的操作 1)复杂谓词的查询语句 2)查询较多列的语句 3)返回较多行结果的查询语句 4)连接多个大表的查询语句 5)数据库里sys用户的对象以及SYSTEM,SYSAUX表空间里的对象都不支持列存储 7.列存储的优先级 PRIORITY NONE-->LOW-->MEDIUM-->HIGH-->CRITICAL 优先级只针对于表级或表分区级;如果对象是64k或更小,虽然手动放入了列存储,但是内存列存储没有把其放入列存储中。 8.开启内存列存储的参数 默认情况下只需要配置INMEMORY_SIZE,因为其他参数默认就好。 alter system set INMEMORY_SIZE=100M scope=spfile; --重启生效 9.实例
表级的操作 例如: CREATE TABLE test_inmem ( id NUMBER(5) PRIMARY KEY, test_col VARCHAR2(15)) INMEMORY; ALTER TABLE oe.product_information INMEMORY; ALTER TABLE oe.product_information INMEMORY MEMCOMPRESS FOR CAPACITY LOW; ALTER TABLE oe.product_information INMEMORY MEMCOMPRESS FOR CAPACITY HIGH PRIORITY LOW; ALTER TABLE oe.product_information INMEMORY MEMCOMPRESS FOR QUERY ( product_id, product_name, category_id, supplier_id, min_price) INMEMORY MEMCOMPRESS FOR CAPACITY HIGH ( product_description, warranty_period, product_status, list_price) NO INMEMORY ( weight_class, catalog_url); 表空间级的操作 CREATE TABLESPACE tbs1 DATAFILE 'tbs1.dbf' SIZE 40M ONLINE DEFAULT INMEMORY; ALTER TABLESPACE tbs1 DEFAULT INMEMORY MEMCOMPRESS FOR CAPACITY HIGH PRIORITY LOW; 物化视图级的操作 CREATE MATERIALIZED VIEW oe.prod_info_mv INMEMORY AS SELECT * FROM oe.product_information; ALTER MATERIALIZED VIEW oe.prod_info_mv INMEMORY PRIORITY HIGH; 10 数据泵对于内存列存储的表的导出 导入的时候需要TRANSFORM=INMEMORY:y,那么默认在内存列存储才会继续在内存中。
相关文章推荐
- 7.Oracle深度学习笔记——内存架构之SGA IM Column Store
- ORACLE 12c 内存特性研究
- 温习SQL Server 列存储索引 Column Store Index
- Bigtable不是column store(列存储) !
- SQL Server ->> ColumnStore Index(列存储索引)
- oracle12c之 控制pdb中sga 与 pga 内存使用
- oracle12c之 控制pdb中sga 与 pga 内存使用
- 【内存结构】[SGA]之In-Memory Column Store
- oracle 12c GI安装由内存不够引发的安装错误
- SAP HANA 列存储(SAP HANA Column Store)
- 【Oracle 12c 多租户专题】PDB的内存资源管理
- oracle结构-内存结构与动态内存管理
- Oracle pseudo column RowID
- oracle-内存表
- Oracle体系结构:内存结构和进程结构
- Oracle格式化输出列COLUMN的使用
- 突破oracle for win2K的2G内存限制
- oracle内存查看
- [转]突破oracle for win2K的2G内存限制
- RAM Table in Oracle(oracle内存表)