INMEMORY_SIZE
initialization parameter must be set to a non-zero value.
-
Column
-
Table
-
Materialized view
-
Tablespace
-
Partition
-
A query that scans a large number of rows and applies filters that use operators such as the following:
=
,<
,>
, andIN
扫描大量数据并通过:
=
,<
,>
, 和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
聚合数据查询
Table 6-5 IM Column Store Compression Methods
CREATE/ALTER Syntax | Description |
---|---|
| The data is not compressed. 不压缩 |
| This method optimizes the data for DML operations and compresses IM column store data the least (excluding 这种方式优化数据的DML操作和最小的IM列存储压缩 |
| This method results in the best query performance. 这种方式提供最好的查询性能 This method compresses IM column store data more than 这种方式压缩比比 This method is the default when the 在create或者alter命令指定INMEMORY并且未指定压缩方式,这是默认的压缩方式。或者是在MEMCOMPRESS FOR QUERY时并未指定LOW或者是HIGH时。 |
| This method results in excellent query performance. 这种方式提供优秀的查询性能 This method compresses IM column store data more than 压缩比比 |
| This method results in good query performance. This method compresses IM column store data more than 压缩比比 This method is the default when 当指定 |
| This method results in fair query performance. 这种方式提供一般的查询性能 This method compresses IM column store data the most. 提供最大的数据压缩 |
In a SQL statement, the MEMCOMPRESS
keyword must be preceded by the INMEMORY
keyword.
在SQL语句中 ,inmemory需要放在memcompress前面。
IM Column Store Data Population Options
When you enable a database object for the IM column store, you can either let Oracle Database control when the database object's data is populated in the IM column store (default), or you can specify a priority level that determines the priority of the database object in the population queue. Oracle SQL includes an INMEMORY PRIORITY
subclause that provides more control over the queue for population. For example, it might be more important or less important to populate a database object's data before populating the data for other database objects.
当开启IMO,可以让数据库控制当对象是IMO时,也可以指定优先级来决定数据库对象在数据队列中的优先级,ORACLE SQL 包括 INMEMORY PRIORITY提供了更多的控制数量的队列。例如:可以让重要或者次重要的对象在其他对象之前。
able 6-6 Priority Levels for Populating a Database Object in the IM Column Store
CREATE/ALTER Syntax | Description |
---|---|
| Oracle Database controls when the database object's data is populated in the IM column store. A scan of the database object triggers the population of the object into the IM column store. This is the default level when |
| The database object's data is populated in the IM column store before database objects with the following priority level: The database object's data is populated in the IM column store after database objects with the following priority levels: |
| The database object's data is populated in the IM column store before database objects with the following priority levels: The database object's data is populated in the IM column store after database objects with the following priority levels: |
| The database object's data is populated in the IM column store before database objects with the following priority levels: The database object's data is populated in the IM column store after database objects with the following priority level: |
| The database object's data is populated in the IM column store before database objects with the following priority levels: |
Initialization Parameter | Description |
---|---|
This initialization parameter sets the size of the IM column store in a database instance. 设置INMEMORY大小 The default value is 0, which means that the IM column store is not used. This initialization parameter must be set to a non-zero value to enable the IM column store. If the parameter is set to a non-zero value, then the minimum setting is 默认是0,表示不使用IMO特性,开启IMO特性需要设置一个非零值,最小是100M。 In a multitenant environment, the setting for this parameter in the root is the setting for the entire multitenant container database (CDB). This parameter can also be set in each pluggable database (PDB) to limit the maximum size of the IM column store for each PDB. The sum of the PDB values can be less than, equal to, or greater than the CDB value. However, the CDB value is the maximum amount of memory available in the IM column store for the entire CDB, including the root and all of the PDBs. Unless this parameter is specifically set for a PDB, the PDB inherits the CDB value, which means that the PDB can use all of the available IM column store for the CDB. 在多租户环境中,此参数是root在CDB中设置,也可在每个PDB中设置此参数来限制每个PDB中IMO的最大值,PDB中设置大小的总合可以小于,等于,大于CDB的值,但是CDB的值是CDB中IMO的最大值(包括root和所有的PDB),除非PDB指定了继承CDB的参数,指定了继承参数,意味着这个PDB可以使用所有CDB中可用的IMO。 | |
This initialization parameter can enable tables and materialized views for the IM column store or disable all tables and materialized views for the IM column store. Set this parameter to 设置为DEFAULT Set this parameter to 设置为OFF,禁用IMO特性 | |
This initialization parameter enables you to specify a default IM column store clause for new tables and materialized views. 在建表或者视图时开启IMO特性 Leave this parameter unset or set it to an empty string to specify that there is no default IM column store clause for new tables and materialized views. Setting the value of this parameter to 不设置或者是设置为空字符串表示在建表和视图时不开启IMO。 Set this parameter to a valid If the clause starts with | |
This initialization parameter specifies whether in-memory queries are allowed. Set this parameter to 设置是否允许IM查询 默认是:ENABLE ENABLE | DISABLE | |
This initialization parameter specifies the maximum number of background populate servers to use for IM column store population, so that these servers do not overload the rest of the system. Set this parameter to an appropriate value based on the number of cores in the system. 此参数设置将数据加载到内存的后台进程数 | |
This initialization parameter limits the maximum number of background populate servers used for IM column store repopulation, as trickle repopulation is designed to use only a small percentage of the populate servers. The value for this parameter is a percentage of the | |
This initialization parameter enables or disables all of the optimizer cost model enhancements for in-memory. Setting the parameter to
是否开启optimizer 对IM的支持
默认:true
TRUE | FALSE
|
TRANSFORM=INMEMORY_CLAUSE:
string
来改写导入对象的IMO子句。