您多久执行一次定期维护,如对应用程序进行压力测试和/或调优应用程序的数据库索引?
例如,您是每周调优(碎片整理、重组或重建)数据库索引一次,还是仅在输入大量数据后才调优(整理、重组或重建)数据库索引?是否在每次主要或次要构建后对应用程序进行压力测试,每周、每年或从不?
发布于 2010-03-03 22:52:07
在代码不断演变的实时生产系统中,每一天都是一次压力测试。类似地,数据库调优就是知道何时停止;当性能可以接受时,您就停止。
具体到Oracle,关于是否重建索引的争论已经激烈地争论了很多年;有些人相信这样做,有些人不这样认为。索引是一种B*树结构;它将准确地反映表中的数据。在许多情况下(后面的例外情况),重建索引类似于快速节食;当然,索引在短期内会变得很少,但随着时间的推移--可能只需要几天或几个小时的处理--它们就会恢复到以前的状态。只要性能达到了目标,为什么还要担心呢?重建索引会生成大量的I/O活动(必须读取表和/或索引),并且会生成大量的重做活动(为新的索引项写入重做向量),或者需要立即备份(如果使用NOLOGGING重建索引,则索引现在是不可恢复的)。
例外情况:
发布于 2010-03-12 02:54:32
当我在一家大型3D CAD公司工作时,我们有一些测试运行:
无论您何时想签入代码,都可以使用
每个测试都加载了由QA团队创建的特定3D模型,以强调各种问题。我确信其中一些模型是客户提供的,以强调以前已知的客户错误。模型的尺寸从微米到三个方向上的1公里。
发布于 2010-03-02 17:55:27
我的猜测是,这是客户第一次抱怨性能时可能会做的事情,而不是在此之前。
https://stackoverflow.com/questions/2256553
复制相似问题