暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

加快索引的创建

酒负盛名的笔记 2018-01-13
312

     最近应用需求,需要我给一个3E的流水表的一个字段添加索引,现在把方法记录下来。

     惯例,环境介绍:dba_objects是我们dba经常使用并熟悉的表,这里我就以此表的object_id字段进行索引的创建。

  1.以默认的方式创建索引:(以此所用时间为基准进行比较)

    2.以并行的方式进行创建:

     要注意的是在我们用并行来创建或者rebuild索引的时候,我们索引的并行度也会改成我们的并行度,所以在结束后还需要对索引的并行度进行还原。因为索引并行度会影响dml的执行计划,而且还会消耗更多的资源,避免给自己挖坑。

    3.以nologging的方式:

     用nologging的时候要很谨慎,它可以大大减少redo的生成量,但恢复就麻烦了。但是我们这里是创建索引动作,可以使用。

  4.以并行+nologging的方式:

  此方式相对nologging的方式耗时长,可能出现了CPU的争用,也可能是I/O的争用,实验环境和生产环境的差距所致,但综合前面的结果,这种方式创建是最快的。

 

    总结:以并行+nologging的方式创建索引可以加快索引的创建速度,最好是在系统资源相对充足的时候进行创建。另外索引创建完毕记住要把索引的并行度去掉,自己挖的坑要及时填。



文章转载自酒负盛名的笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论