正 文

Oracle9i的自动分段空间管理改善了分段存储的本质


www.7dspace.com  更新日期:2005-11-14 8:23:07  七度空间


缓冲区不再忙等待

在没有多个freelist的时候,每个Oracle表格和索引在表格的头部都曾有一个数据块,用来管理对象所使用的剩余区块,并为任何SQL插入声明所创建的新数据行提供数据块。当数据缓冲内的数据块由于被另一个DML事务处理锁定而无法使用的时候,缓冲区忙等待就会发生。当你需要将多个任务插入到同一个表格里的时候,这些任务就被强制等待,而同时Oracle会在同时分派剩余的区块,一次一个。

有了ASSM之后,Oracle宣称显著地提高了DML并发操作的性能,因为(同一个)位图的不同部分可以被同时使用,这样就消除了寻找剩余空间的串行化。根据Oracle的测试结果,使用位图freelist会消除所有分段头部(对资源)的争夺,还能获得超快的并发插入操作(A)。

图A

Oracle公司对使用位图freelist进行SQL插入操作的测试结果
ASSM的局限性

尽管ASSM显示出了令人激动的特性并能够简化Oracle DBA的工作,但是Oracle9i的位图分段管理还是有一些局限性的:

  • 一旦DBA被分配之后,它就无法控制tablespace内部的独立表格和索引的存储行为。
  • 大型对象不能够使用ASSM,而且必须为包含有LOB数据类型的表格创建分离的tablespace。
  • 你不能够使用ASSM创建临时的tablespace。这是由排序时临时分段的短暂特性所决定的。
  • 只有本地管理的tablespace才能够使用位图分段管理。
  • 使用超高容量的DML(例如INSERT、UPDATE和DELETE等)的时候可能会出现性能上的问题。

在我下一篇文章里,我将解释如何获得一些用于DBA的新工具,还有Oracle9i的ASSM特性。我还将看看你要如何将这些工具和ASSM一起使用。

4页,页码:[1] [2] [3] [4] 

上一篇:使用Oracle9i全索引扫描快速访问数据
下一篇:在ASP.NET中调用存储过程方法新解
作者:  来源:开发者在线 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐