Home  >  Article  >  Database  >  ORACLE空间管理实验3:区管理之大区小区对I/O性能的影响

ORACLE空间管理实验3:区管理之大区小区对I/O性能的影响

WBOY
WBOYOriginal
2016-06-07 15:50:361013browse

大小区优缺点,超过一M区有意义吗? 表空间管理技术管理的是区,本地管理表空间LMT在每个数据文件头部加入位图区域管理的是EXTENT的使用情况. EXTENT的使用和释放时ORACLE会在数据文件头的位图区域更新记录。 对于大小区,事实上即使在系统自动分配区大小的管


大小区优缺点,超过一M区有意义吗?

  表空间管理技术管理的是区,本地管理表空间LMT在每个数据文件头部加入位图区域管理的是EXTENT的使用情况.
EXTENT的使用和释放时ORACLE会在数据文件头的位图区域更新记录。
对于大小区,事实上即使在系统自动分配区大小的管理方式下,8M的区也很普遍,如下:
系统管理区大小由系统自动分配扩展的区大小,
在段的前1M空间:区大小8个块=64K,前16个区是这样。
在段1M---64M之间:区大小1M,128个块
在段64M之后,区大小8M。

大小区优点缺点汇总:

小区:优点省空间

    :缺点分配次数可能达多,甚至由此引起数据文件头位图区的争用。

大区:缺点浪费空间、和在分配和回收时多耗用一点点CPU
    :优点:全扫描段时减少I/O的次数--详解下一个问题
            减少分配的次数。

            扫描段时也会减少段头的次数--段头会被缓存

大区、大IO,无并发时全表扫描速度更快

小区、小IO,有并发时全表扫描速度更快

大小区对并发的影响?

大区小区对并发没有太大影响,因为并发最终操作的是数据块大小--操作块时会加锁-buffer pin,可能会产生 buffer busy waits。如块大,行多,比如 500行,竞争大,并发相对小。而块小,行少,如100行,竞争少,相对支持的更大并发。
但是大小区对并发也会有一点影响,就是高水位的推进,一般是以一个区为单位推进的。详见:

大区会增加OLTP的I/O性能吗?为什么?

对OLTP没影响或者说影响很小。

对OLAP可以减少I/O次数,或者让随机I/O变为顺序I/O。

但是要考虑:

OS、硬件驱动:最大IO大小1M。
区内的空间是连续的。--表碎片 ???
读一个8M的区,包含8个1M的I/O,很有可能,这8次I/O,是顺序IO。
读8个1M的区,至少8次随机I/O。
但是系统自动分配时,在64M后也是自动分配8M的区了,使用系统分配区大小即可。
除非表空间中段很多,很多小表大于8M小于百M全表扫描,此时可以考虑将表空间设置为统一区大小。
这里要考虑底层存储的AU。如8M 的AU、8M的区,这样能保证每个AU的8M在同一个磁盘,如存储最大支持4M,这时可以区大小4M或不管,ASM层AU也是4M。--好像不太实用啊。
这一段是OLAP时要考虑的。

   


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn