在Oracle 8i之前,包括8i,一直用的是DMT(Dictionary ManagementTablespace)字典管理表空间,它工作的原理是向uet$(代表used-extent table)、fet$(代表free-extent table)表插入、删除数据。当一个事务需要进行大量的扩展extent操作的时候,会向uet$表插入大量的数据,同时从fet$表中删除相关纪录的信息;当某个表的高水线下降,进行extent的回缩操作的时候,从uet$表删除大量的纪录,并且插入到fet$表中。
空间管理引起对uet$,fet$的操作在大量extent的情况下严重影响性能所以这种管理表空间的方式是比较耗费资源的,尤其是发生大量extent操作的时候,对uet$、fet$表的DML操作会引发性能问题。从Oracle 8i开始,就引入了本地管理表空间(LMT)的概念,这里对扩展段的管理不是放到字典表中,而是用一个Bitmap纪录并进行操作,由于是对文件进行操作,所以速度比较快,而且在Bitmap上,可以同时并发多个事务,所以速度快了。
空间管理引起对uet$,fet$的操作在大量extent的情况下严重影响性能所以这种管理表空间的方式是比较耗费资源的,尤其是发生大量extent操作的时候,对uet$、fet$表的DML操作会引发性能问题。从Oracle 8i开始,就引入了本地管理表空间(LMT)的概念,这里对扩展段的管理不是放到字典表中,而是用一个Bitmap纪录并进行操作,由于是对文件进行操作,所以速度比较快,而且在Bitmap上,可以同时并发多个事务,所以速度快了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84874/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-84874/