设为首页收藏本站language 语言切换
查看: 960|回复: 0
收起左侧

Oracle Database 12C之In-Memory(一)

[复制链接]
发表于 2018-7-2 15:32:55 | 显示全部楼层 |阅读模式

从这一篇开始,接下来的几篇推送文章,着重讨论oracle 12c最为重要的特性之一:In-Memory。这个特性说起来,倒也简单。我们知道数据库进行物理I/O读写时,其性能会受到磁盘的I/O能力的制约。而我们知道现今的计算机,其瓶颈,基本就是在磁盘读写的速度上了。那么,如果把要读取的数据都放置到内存中,那速度显然刷的一下就上来了嘛。
oracle从12c开始支持In-Memory功能。
其实第一次接触到这个东西,我的第一反应,就是去查看官方文档
Database Administrator's Guide
我觉得这里肯定有的,恰好手头就有12.1的官方文档,于是去翻该文档的第六章内存管理,结果是没有·········
然而,oracle的在线文档中,居然有········
链接如下:
https://docs.oracle.com/database/121/ADMIN/memory.htm#ADMIN14257

In-Memory列存储组件,为12c 中SGA的可选组件。可以用来存储表、表分区、以及其他数据库对象的副本。启用该选项,我们可以在SGA中按列存储某些对象,而不是原来的按行存储。
ps:看到按列存储,会有人想到Sybase的IQ数据库咩?
In-Memory列存储是SGA中的一个新的静态池(static pool)。所谓静态,也就是说里面的对象需要我们dba手工管理。在该池中,数据都是按列存储,而原来sga的db buffer cache中,数据依然还是按行存储。这样,整个内存,就可以同时提供数据的按行和按列存储。要启用该选项,INMEMORY_SIZE参数,需要设置为非零值。当然,不能小于100M,否则,你会碰到如下错误:
SYS@ora12c> alter system set inmemory_size=50m scope=spfile;

System altered.

SYS@ora12c> startup force;
ORA-64353: in-memory area size cannot be less than 100MB

可以在如下级别上启用In-Memory列存储功能:
  • Column
  • Table
  • Materialized view
  • Tablespace
  • Partition

如果在表空间级别上启用该功
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-26 08:28 , Processed in 0.183473 second(s), 22 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表