索引存储关系到数据库的运行效率-性能调优[Oracle防范]
本文“索引存储关系到数据库的运行效率-性能调优[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Oracle数据库中,数据库管理员不但在索引的挑选上要耗费一定的精神.并且,在索引的存储上,也有所讲究.因为索引与表一样,不但需求在数据字典中保存索引的定义,还需求在表空间中为他分配实际的存储空间,并为其设置存储参数.数据库管理员若可以给索引分配公道的表空间,并且设置符合的参数的话,则可以在一定程度上提高数据库的运行效率.
固然说,在成立索引的历程中,不为其指定具体的存储参数也是可行的.索引会自动担当所处表空间的默许存储参数.不过,在数据库计划历程中,笔者是不倡议这么做.因为这不可以施展Oracle数据库高性能的上风.分外是在一些对比复杂的数据库计划中,一定要按照实际情形,公道的索引存储举行配置,以到达数据库性能优化的目的.
具体的说,数据库管理员可以从以下几个方面动手,做好索引的存储管理.
第一步:为索引指定存储的表空间.
当数据库管理员为表大概字段成立索引的时刻,可以挑选能否指定具体的表空间.若没有具体指定的话,则数据库会自动在用户的默许表空间成立索引段.这里初学者要注意,索引的存储默许表空间不是随着其所对应的数据库对象走,而是随着用户走.也就是说,目前有一张员工信息表,要为其成立一个索引.并非说这张员工信息表属于哪个表空间,这对应的索引默许也是哪个表空间.而这个索引的默许表空间是成立这个索引的用户的默许表空间.
索引是对表中字段举行排序的一种手段.在数据库管理员成立索引的时刻,Oracle首先对成立索引的字段举行排序,然后将排序后的字段值和呼应记录的Rowid存储在索引段中.而这个数据存储,就需求用到一定的存储空间,即我们所为的表空间.若一张表中发索引对比复杂,则其索引本身的空间大概比表中数据所占用的空间还要大.可见,关于索引的表空间举行管理的必要性.
在索引的成立历程中,关于其所存储的表空间没有特别的限制.如不需求像其他数据库一样,要求把索引与表成立在同一个表空间大概磁盘上.数据库管理员可以按照企业自身的需求,公道的为索引分配存储空间.
不过,笔者认为,最好可以把表与索引保存在差别的表空间中.因为Oracle数据库可以并行读取差别磁盘中的数据,从而达削减输入输入冲突的目的.而目前把索引与其对应的表存放在差别硬盘上的差别表空间中,便可以提高查询的效率.常常在数据库性能优化中,调整索引与底子表的表空间位置,这也是我们数据库管理员常用的手段之一.故,笔者倡议,最好可认为索引成立一个独立的表空间,跟其对应的表脱离存放.若数据库服务器有多个磁盘的话,可以考虑辨别存放在差别的磁盘上.
别的,若把索引跟对应的表存储在差别的表空间中的话,在数据库备份的时刻,要略加注意.因为Oracle数据库答应数据库管理员以表空间为单位,对数据库举行备份与复原.此时,若把它们存储在差别的表空间的话,则对数据表所在的表空间举行备份的时刻,就不会备份索引信息.在复原的时刻,也不会自动把表空间对应的索引举行复原.所以,若把索引与表存放在同一个表空间中,则关于数据库备份来说,要便利一点.但是,这毕竟是次要的.比起数据库的性能来说,这点艰难还是可以降服的.
以上是“索引存储关系到数据库的运行效率-性能调优[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |