WEB开发网
开发学院数据库Oracle 创建索引选择合适的可选项 阅读

创建索引选择合适的可选项

 2009-05-26 13:14:37 来源:WEB开发网   
核心提示: 可选项二:NOLOGGING,是否需要记录日志信息,创建索引选择合适的可选项(2),在创建索引的时候,系统会把相关的信息存储到日志信息中去,都是非常小的,所以,如果表中的记录比较多,则需要一一的把这些信息记录到日志文件中

可选项二:NOLOGGING,是否需要记录日志信息。

在创建索引的时候,系统会把相关的信息存储到日志信息中去。如果表中的记录比较多,则需要一一的把这些信息记录到日志文件中,这显然会让数据库增加很大的工作量。从而增加索引创建的时间。为此在创建索引的过程中,如果有必要时,我们可以采用NOLOGGING选项,让数据库在创建索引的过程中,不产生任何重做日志信息。此时当表中的记录比较多时,就可以明显提高速度。

但是默认情况下,数据库在在创建索引时,是不采用这个选项的,即会把相关的信息保存到重做日志中去。这虽然降低了索引创建的效率,但是如果遇到什么意外的话,却可以利用重做日志来进行恢复。所以,此时数据库管理员就比较难以抉择了。一方面是数据的安全,另一方面是索引创建的速度。根据笔者的经验,只要数据库服务器比较稳定,而数据库中约束机制又比较完善的话,那么在创建索引的过程中一般不会出现问题,可以放心大胆的使用这个可选项。

但是如果数据库已经使用了好几年了。后来因为某种原因需要重建索引。在这种情况下,由于数据库使用过程中很多因素数据库管理员无法控制。此时为这种类型的数据库创建索引时,为了保险起见还是不要采用这个选项好。因为此时遇到错误的几率相对来说会搞一点。为此此时牺牲一下索引创建的速率,而提高数据的安全性还是有必要的。万一遇到什么问题时,可以通过重做日志来及时的恢复数据,为企业用户减少损失。

可选项三:COMPUTE STATISTICS,是否生成统计信息。

如果管理员在创建索引时采用了这个选项,则数据库将在创建索引的过程中以非常小的代价直接生成关于索引的相关统计信息,然后把这些信息存储在数据字典中。这就可以避免以后对索引进行分析统计,而且优化器在优化SQL语句的时候可以随机使用这些统计信息,以确定是否生成使用该索引的执行计划。通常情况下,在生成索引的过程中统计索引的相关信息,其所花的代价是最小的。无论从时间上,还是从硬件资源的耗费上,都是非常小的。所以,在创建索引的过程中统计相关的索引信息是非常有用的。

Tags:创建 索引 选择

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