内存中扫描:从内存中的列存储检索行(IM列存储)。
IM列存储是一个可选的SGA区域,以特殊的列格式存储表和分区的副本,这些格式已针对快速扫描进行了优化。
8.2.5.1优化器选择内存中表扫描时
优化器成本模型知道IM列存储的内容。
当用户执行引用IM列存储中的表的查询时,优化程序将计算所有可能的访问方法(包括内存中表扫描)的成本,并选择成本最低的访问方法。
父主题: 内存中表扫描
8.2.5.2内存中查询控件
您可以使用初始化参数控制内存中查询。
以下数据库初始化参数会影响内存中的功能:
INMEMORY_QUERY :此参数在会话或系统级别启用或禁用数据库的内存查询。当您想使用或不使用IM列存储来测试工作负载时,此参数很有用。OPTIMIZER_INMEMORY_AWARE :此参数启用(TRUE)或禁用(FALSE)对优化器成本模型,表扩展,布隆过滤器等所做的所有In-Memory增强功能。将参数设置为FALSE会使优化器在优化SQL语句的过程中忽略表的In-Memory属性。OPTIMIZER_FEATURES_ENABLE:当设置为小于时12.1.0.2,此参数与设置OPTIMIZER_INMEMORY_AWARE为具有相同的效果FALSE。
要启用或禁用内存中查询,您可以指定INMEMORY或NO_INMEMORY提示hint ,它们对应于每个查询的INMEMORY_QUERY初始化参数。如果SQL语句使用了INMEMORY提示,但IM列存储中尚未加载该对象所引用的对象,则数据库在执行该语句之前不会等待IM列存储中填充该对象。但是,对对象的初始访问会触发IM列存储中的对象填充。
也可以看看:
- Oracle数据库参考,以了解更多的
INMEMORY_QUERY,OPTIMIZER_INMEMORY_AWARE和OPTIMIZER_FEATURES_ENABLE初始化参数 - Oracle Database SQL语言参考,以了解有关
INMEMORY提示的 更多信息
8.2.5.3内存中表扫描:示例
本示例显示了包括该TABLE ACCESS INMEMORY操作的执行计划。
以下示例显示了对该oe.product_information表的查询,该查询已使用INMEMORY HIGH选项进行了更改。
示例8-3内存中表扫描
SELECT *
FROM oe.product_information
WHERE list_price > 10
ORDER BY product_id
该语句的计划可能如下所示,其中INMEMORY第2步中的关键字指示已从IM列存储中访问了部分或全部对象:
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR);
SQL_ID 2mb4h57x8pabw, child number 0
-------------------------------------
select * from oe.product_information where list_price > 10 order byproduct_id
Plan hash value: 2256295385
--------------------------------------------------------------------------------------------
|Id| Operation | Name |Rows|Bytes |TempSpc|Cost(%CPU)|Time|
--------------------------------------------------------------------------------------------
| 0| SELECT STATEMENT | | | | |21 (100)| |
| 1| SORT ORDER BY | | 285| 62415|82000|21 (5)|00:00:01|
|*2| TABLE ACCESS INMEMORY FULL| PRODUCT_INFORMATION | 285| 62415| | 5 (0)|00:00:01|
--------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - inmemory("LIST_PRICE">10)
filter("LIST_PRICE">10)「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




