Oracle PL / SQL性能调优速成课程

时间:2010-11-10 09:09:31

标签: oracle plsql performance

我是一个熟悉基本SQL和PL / SQL的Java人。我可以编写简单的程序和函数。现在,我应该做一些Oracle性能调优。有人可以帮我一些速成课程材料吗?提前致谢。

- 亚洲时报Siddharth

6 个答案:

答案 0 :(得分:9)

除了早先的建议(他们都拥有自己的权利),你可以做一些简单的事情,让你成为一名即时表演大师(tm):

  1. 随身携带一个装满文件和书籍的公文包。带有“高效人群的Oracle性能调优”等标题的狗狗书籍以及带有方框和箭头的纸张都很好用。如果这些书是针对过时的Oracle版本那么好,因为它看起来好像你已经做了一段时间 - 而且,你可以从当地书店的'许可'表中购买便宜货。为了达到最佳效果,公文包应该穿好 - 如果你被迫购买一个新的公文包,你可以通过用汽车支撑它和/或将绳子系在手柄上并将其拖过沙子/泥土来获得风化效果/泥十分钟左右。这一切都有助于打动当地人。一两个弹孔可以成为有趣的对话启动者。您还可以使用公文包来携带午餐和其他重要物品,如毛巾。
  2. 为所有查询添加完整索引。
  3. 确保所有外键都有支持它们的全键索引。
  4. 这可能会让您认为“性能分析”主要包括添加索引,编写软件的人从不打算添加,因为在他们的下一个空的开发数据库中,一切都运行得非常快。这是不正确的。完整的制作。完全没废话。 best 只有95%左右。不要理会幕后的那个人 - 他并不重要......

    您现在知道Oracle Performance Masters的秘密。 (好吧,大多数情况下,除了秘密握手,这很难在短信中解释(此外,每只手上需要六个手指),以及隐藏的秘密,主要由很多东西组成你不熟悉的青蛙需要知道,但知道哪些让消息灵通的人傻笑 - 这不太吸引人......)。

    你们出去做好事。

    +这实际上有些不正确。你真正希望在公文包中出现的那本书是“为比这个星球上99.9%的居民聪明的人进行Oracle性能调优”。由于这个星球上99.99999%的居民是单细胞生物或管理者(有时是两者),这并不难实现。

    ++这是一个实数。你不能只把这些东西搞砸+++。

    +++实际上,你可以和我一样。但如果你使用一个确切的数字,它就不会“撒谎” - 它是“创造性地重新想象”++++。

    ++++那是“撒谎”的顾问说话。

答案 1 :(得分:4)

性能调优就是“它取决于”。如果存在关于如何提高性能的检查列表,则它已经在数据库中实现。

围绕OTN论坛,寻找与调优相关的主题。试着真正了解专家写的内容。为什么会有问题?有什么线索可以帮助发现解决方案?提供的解决方案有何不同?为了选择一种解决方案而不是另一种解决方案需要做出哪些权衡?重新创建数据库中的问题并自己进行实验。

不要害怕询问你是否不明白为什么有些人会被张贴!

论坛链接

SQL and PLSQL- Forums

General - Forums

哦,请不要沿着通常的路径走下去,直到事情发生时才会提出疑问。如果没有对访问统计,选择性,成本计算,连接机制,访问路径或数据库体系结构的基本知识的充分理解,那么用提示覆盖优化器是没有意义的。

如果我能回到过去并给自己三本书,我会带来:

  • 专家Oracle数据库架构(Tom Kyte)
  • 基于成本的Oracle基础知识(Jonathan Lewis)
  • SQL Tuning(Dan Tow)

答案 2 :(得分:2)

如果您想了解有关SQL性能调优的更多信息,那么您需要了解oracle提示以及如何检查查询的解释计划:

http://www.adp-gmbh.ch/ora/sql/hints/index.html

其他与绩效相关的重要事项是分析功能

http://www.adp-gmbh.ch/ora/sql/analytical/index.html

如果您对Oracle特定选项感兴趣,这可能很有用。如果您通常对性能调整感兴趣,其他答案可能会更有用

答案 3 :(得分:2)

两本Tom Kyte书籍:

“专家Oracle数据库架构” - 从开发人员的角度看Oracle内部的速成课程。

“有效的Oracle设计” - 如何编写高性能应用程序。揭开EXPLAIN PLAN,AUTOTRACE,TKPROF,Statspack和DBMS_PROFILER等工具的神秘面纱;理解优化器;架构设计等等。

Kyte先生写的任何其他材料也值得一读。

答案 4 :(得分:1)

您可以从Oracle文档的Introduction to Performance Tuning部分开始。我已链接到Oracle 10G版本。

学习生成和解释trace files可能是一个很好的开始方式。

答案 5 :(得分:0)

尝试使用statspack。查看详细信息here 表演通常是一种黑魔法,需要很大的耐心:)