ITPub博客

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

Oracle 12c In-Memory Option - 5

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

Lesson 2: In-Memory Column Store Tables

11. 对比In-Memory Column Store与buffer cache
set timing ON
 
 -- 全表扫描一个3亿笔记录的大表。
SELECT Max(lo_ordtotalprice) most_expensive_order FROM lineorder;

 -- 在buffer cache中访问 
ALTER SESSION set inmemory_query = disable;
SELECT /* BUFFER CACHE */
Max(lo_ordtotalprice) most_expensive_order FROM lineorder;

 -- 不要忘记改回enable .
ALTER SESSION set inmemory_query = enable;

虽然两者都是内存扫描,但是可以得到结论,在In-Memory Column Store中查询比
在传统的 buffer cache中要快。

In-Memory Column Store仅仅需要扫描单一一个列lo_ordtotalprice,而row store
(行存储)不得不扫描每一行中的所有columns, 直到reaches lo_ordtotalprice列。
我们也从出色的压缩比中受益,对于SIMD vector processing, 柱状格式不需要额外
的操作。

一般我们都是通过执行计划来查看SQL如何执行的。如果查询In-Memory Column Store Table,
那么执行计划中会显示 TABLE ACCESS IN MEMORY FULL 字样。 不过有很少的情况下,即使
object被标识为 IN MEMORY, 但是我们不能使用  In-Memory Column Store 。 这些就好比
在Exadata环境如何使用STORAGE 。

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

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

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13384187