mysql in memory_In-Memory整体汇总 – 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 134296487...

本问是对于Oracle 12C中的In-Memory Column Store一个整体的汇总,具体细节知识在以后章节中展开

IM可以针对如下级别进行操作

Column

Table

Materialized view

Tablespace

Partition

可以指定In-Memory操作语句

CREATE TABLE

ALTER TABLE

CREATE TABLESPACE

ALTER TABLESPACE

CREATE MATERIALIZED VIEW

ALTER MATERIALIZED VIEW

压缩级别

6a9355ff7f33b08f56d4c1c3eb95019b.png

优先级

1b390e309a04508f9f24cebff79f68ec.png

对象级别操作IM

CREATE TABLE t_xifenfei (

id NUMBER(5) PRIMARY KEY,

test_col VARCHAR2(15))

INMEMORY;

ALTER TABLE t_xifenfei INMEMORY;

ALTER TABLE t_xifenfei INMEMORY MEMCOMPRESS FOR CAPACITY LOW;

ALTER TABLE t_xifenfei INMEMORY PRIORITY HIGH;

ALTER TABLE t_xifenfei INMEMORY

MEMCOMPRESS FOR CAPACITY HIGH

PRIORITY LOW;

ALTER TABLE t_xifenfei

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);

ALTER TABLE t_xifenfei NO INMEMORY;

补充说明:列级别设置的优先级无效,优先级是表(物化视图)或者分区表级别

表空间级别操作IM

CREATE TABLESPACE xifenfie_im

DATAFILE '/u02/xifenfei.dbf' SIZE 40M

ONLINE

DEFAULT INMEMORY;

ALTER TABLESPACE xifenfie_im DEFAULT INMEMORY

MEMCOMPRESS FOR CAPACITY HIGH

PRIORITY LOW;

物化视图级别

CREATE MATERIALIZED VIEW oe.prod_info_mv INMEMORY

AS SELECT * FROM t_xifenfei;

ALTER MATERIALIZED VIEW oe.prod_info_mv INMEMORY PRIORITY HIGH;

适合使用IN-Memory操作

A query that scans a large number of rows and applies filters that use operators such as the following: =, , and IN

A query that selects a small number of columns from a table or materialized view with a large number of columns,

such as a query that selects five columns from a table with 100 columns

A query that joins a small table to a large table

A query that aggregates data

不适合使用IN-Memory操作

Queries with complex predicates

Queries that select a large number of columns

Queries that return a large number of rows

Queries with multiple large table joins

IM控制参数

INMEMORY_SIZE 指定IM分配内存大小,默认值为0,如果启动该值最小为100M;如果在CDB环境中使用,CDB级别设置为整个库级别限制,PDB默认继承CDB设置,但是在实际使用中PDB中总数不能超过CDB限制

INMEMORY_FORCE 指定是否允许数据库中对象使用IM,默认是DEFAULT,即可以实现在对象级别定义INMEMORY or NO INMEMORY,如果设置为OFF 即表示表或者物化视图无法使用IM

INMEMORY_CLAUSE_DEFAULT 默认为空,和NO INMEMORY意义相同,表示创建新对象默认不启用IM,如果配置为INMEMORY,表示新创建对象默认启用IM

INMEMORY_QUERY 默认为TRUE,表示查询是否使用IM特性,设置为FALSE表示查询不使用IM特性

INMEMORY_MAX_POPULATE_SERVERS 默认和系统core一致,用途是把你的表中数据写入到IM中

INMEMORY_TRICKLE_REPOPULATE_SERVERS_PERCENT 控制IM中对象数据的重新载入的进程数,该值为INMEMORY_MAX_POPULATE_SERVERS参数的百分比

OPTIMIZER_INMEMORY_AWARE 该参数是控制优化器成本计算时是否考虑IM,默认为TRUE

impdp 操作IM

TRANSFORM=INMEMORY:y 继承IM导出对象属性

TRANSFORM=INMEMORY:n 不继承IM导出对象属性

TRANSFORM=INMEMORY_CLAUSE:string 修改IM导出对象关于IM的属性

参考文档:https://docs.oracle.com/database/121/ADMIN/memory.htm#ADMIN14257

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值