ITPub博客

首页 > 数据库 > Oracle > Oracle 12c In-Memory Option - 9

Oracle 12c In-Memory Option - 9

原创 Oracle 作者:tolywang 时间:2014-02-14 15:29:50 0 删除 编辑

15.  非"="条件下会发生什么?

前面讲到的where条件中都是=条件,如果是一个范围,比如lo_custkey > 5641,是否可以从
min/max purning中获益呢 ? 

set timing on 

SELECT display_name, value
FROM v$mystat m, v$statname n
WHERE m.statistic# = n.statistic#  AND  display_name IN
( 'IMC Preds all rows pass minmax',
  'IMC Preds some rows pass minmax',
  'IMC Preds no rows pass minmax' );

SELECT Max(lo_supplycost) most_expensive_bluk_order
FROM lineorder
WHERE lo_quantity > 42;

SELECT display_name, value
FROM v$mystat m, v$statname n
WHERE m.statistic# = n.statistic#  AND  display_name IN
( 'IMC Preds all rows pass minmax',
  'IMC Preds some rows pass minmax',
  'IMC Preds no rows pass minmax' );

取消In-Memory Column Store后,查询buffer cache得到查询结果。

ALTER SESSION set inmemory_query = disable;

SELECT /* BUFFER CACHE */
Max(lo_supplycost) most_expensive_bluk_order
FROM lineorder
WHERE lo_quantity > 42;

ALTER SESSION set inmemory_query = enable;

In-Memory Column Store仍然比buffer cache查询要来的高效,因为它仅仅只需扫描一个列lo_quantity,
尽管where 语句中不是“=”条件,我们还是能使用 In-Memory storage index。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1081472/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13382671