首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期进行性能调整和维护

定期进行性能调整和维护
EN

Stack Overflow用户
提问于 2010-02-13 13:09:54
回答 4查看 169关注 0票数 4

您多久执行一次定期维护,如对应用程序进行压力测试和/或调优应用程序的数据库索引?

例如,您是每周调优(碎片整理、重组或重建)数据库索引一次,还是仅在输入大量数据后才调优(整理、重组或重建)数据库索引?是否在每次主要或次要构建后对应用程序进行压力测试,每周、每年或从不?

EN

回答 4

Stack Overflow用户

发布于 2010-03-03 22:52:07

在代码不断演变的实时生产系统中,每一天都是一次压力测试。类似地,数据库调优就是知道何时停止;当性能可以接受时,您就停止。

具体到Oracle,关于是否重建索引的争论已经激烈地争论了很多年;有些人相信这样做,有些人不这样认为。索引是一种B*树结构;它将准确地反映表中的数据。在许多情况下(后面的例外情况),重建索引类似于快速节食;当然,索引在短期内会变得很少,但随着时间的推移--可能只需要几天或几个小时的处理--它们就会恢复到以前的状态。只要性能达到了目标,为什么还要担心呢?重建索引会生成大量的I/O活动(必须读取表和/或索引),并且会生成大量的重做活动(为新的索引项写入重做向量),或者需要立即备份(如果使用NOLOGGING重建索引,则索引现在是不可恢复的)。

例外情况:

  • 位图索引通常应该脱机并在两次数据加载之间重建,因为它们可能会通过DML activity
  • 导致病理性膨胀。如果从根本上卸载大量数据并使用全局索引或其他非本地分区索引,合并(不是重建,只是将相邻叶上的相邻空间压在一起)可能是谨慎的。
票数 1
EN

Stack Overflow用户

发布于 2010-03-12 02:54:32

当我在一家大型3D CAD公司工作时,我们有一些测试运行:

无论您何时想签入代码,都可以使用

  • 。大约40个测试。您必须通过所有测试才能签入代码(您还必须传递一个代码,以便构建服务器每晚完成滚动build
  • (许多测试,大约需要8个小时)。
  • 每周一次(甚至更多测试-这组测试将需要数天时间才能完成)。

每个测试都加载了由QA团队创建的特定3D模型,以强调各种问题。我确信其中一些模型是客户提供的,以强调以前已知的客户错误。模型的尺寸从微米到三个方向上的1公里。

票数 1
EN

Stack Overflow用户

发布于 2010-03-02 17:55:27

我的猜测是,这是客户第一次抱怨性能时可能会做的事情,而不是在此之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2256553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档