WEB开发网
开发学院数据库Oracle 索引存储关系到数据库的运行效率 阅读

索引存储关系到数据库的运行效率

 2008-11-13 12:59:30 来源:WEB开发网   
核心提示: 在索引的建立过程中,对于其所存储的表空间没有特殊的限制,索引存储关系到数据库的运行效率(2),如不需要像其他数据库一样,要求把索引与表建立在同一个表空间或者磁盘上,当现有数据块的数据超过了这个比例后,则发生更新动作时,数据库管理员可以根据企业自身的需求,合理的为索引分配存储空间

在索引的建立过程中,对于其所存储的表空间没有特殊的限制。如不需要像其他数据库一样,要求把索引与表建立在同一个表空间或者磁盘上。数据库管理员可以根据企业自身的需求,合理的为索引分配存储空间。

不过,笔者认为,最好能够把表与索引保存在不同的表空间中。因为Oracle数据库能够并行读取不同磁盘中的数据,从而达减少输入输入冲突的目的。而现在把索引与其对应的表存放在不同硬盘上的不同表空间中,就可以提高查询的效率。往往在数据库性能优化中,调整索引与基础表的表空间位置,这也是我们数据库管理员常用的手段之一。故,笔者建议,最好能够为索引建立一个独立的表空间,跟其对应的表分开存放。若数据库服务器有多个磁盘的话,可以考虑分别存放在不同的磁盘上。

另外,若把索引跟对应的表存储在不同的表空间中的话,在数据库备份的时候,要稍加注意。因为Oracle数据库允许数据库管理员以表空间为单位,对数据库进行备份与还原。此时,若把它们存储在不同的表空间的话,则对数据表所在的表空间进行备份的时候,就不会备份索引信息。在还原的时候,也不会自动把表空间对应的索引进行还原。所以,若把索引与表存放在同一个表空间中,则对于数据库备份来说,要方便一点。但是,这毕竟是次要的。比起数据库的性能来说,这点困难还是可以克服的。

第二步:为提高更新性能合理配置空闲空间管理方式。

索引不仅跟数据库的查询效率息息相关,而且,还跟数据库的更新有重要的影响。因为要对数据进行更新,往往伴随着对数据进行查询。所以,合理设置索引空闲空间的处理方式,可以有效的提高数据库的更新性能。

数据库创建索引的时候,主要是通过Pctfree参数来指定为更新操作而预留的空闲空间百分比。如果数据库管理员把这个参数设置为80%。就表示数据块中的数据所占用的空间少于总空闲空间的80% 时,可以直接利用这个空闲空间来存储需要更新的数据。当现有数据块的数据超过了这个比例后,则发生更新动作时,就需要为其分配新的数据块了。

Tags:索引 存储 关系

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接