2010-09-14 32 views
3

有没有任何文章/链接可以找到SQL调优(Oracle)的示例。如果用例子来解释它会很好。我需要像现有的查询,statstics,计划,然后建议查询/建议和新计划。Oracle中的SQL调优

我发现谷歌对夫妇的真正良好的联系:

  1. http://www.dba-oracle.com/art_sql_tune.htm
  2. http://www.orafaq.com/tuningguide/

但是我正在寻找实时的例子与上面提到的细节,缺少这些文章。

我希望我不要求太多。 :-)因为这取决于很多因素

+1

实时的例子都不会是非常有益的,虽然因为他们是如此依赖数据和查询。你需要调整你能找到的例子,并看看如何将这些技术应用于你的情况。从计划和时间开始,寻找瓶颈。你会在这里和asktom.oracle.com上找到很多不同的例子,但是他们只能指出你想为你的数据库考虑的事情。 – 2010-09-14 11:55:51

回答

6

有一些快捷方式 - 为达到最佳效果:

  1. 购买“基于成本的 甲骨文基础”的副本由乔纳森 刘易斯
  2. 设置本地Oracle数据库在一个完全由您 控制
  3. 通过他的例子工作

这本书解释了如何优化做决定秒。

我不确定个人使用的许可含义,但也了解如何使用dbms_sqltune软件包 - 在可以通过正常优化器路径找到改进计划的情况下,它将生成显示差异的报告。你可以通过查看这些信息获得很多信息。

+1

+1没有快捷键的评论,人们会优化oracle应用程序。 – 2011-06-11 12:19:22

-1

http://philip.greenspun.com/sql/tuning.html

SQL调优是不容易的。没有通用的方法。有时候,只需添加索引或提示,有时需要更改结构。

+0

完全同意..这就是为什么我需要经过尝试和测试的示例(最佳实践)..! – 2010-09-14 10:17:50

+4

没有“最佳实践”和例子等。 OLTP数据库有一些通用规则。 1)读取尽可能少的数据2)不合并大数据范围3)不更新索引列中的值4)不在小表上创建索引5)聚合不好6)大范围的数据排序不好 – iddqd 2010-09-14 13:21:26

1

编写更好的SQL: Dan Tow的“Tuning SQL”是O'Reilly的一个很好的跨平台SQL调优指南。这不是一个简短的阅读,但它确实涵盖了一些漂亮的例子,并向您展示如何调整您的查询。 Oracle中没有FAST = TRUE选项;如果有的话,它会被隐藏起来,你不会改变它。他的网站是http://singingsql.com

通过调整响应时间: 卡里米尔萨普的高度集中于使用Oracle等待接口和排队论调整SQL和系统在过去的20年或左右;他现在的公司(http://method-r.com)和他之前的公司(http://hotsos.com)都有很多有用的资源。通过优化程序统计

调整: 沃尔夫冈·百年灵在http://centrexcc.com曾做过演示调整一些优秀的作品通过基数的反馈证明,如果SQL的好,有太多的负荷,问题可以是你在撒谎甲骨文(或甲骨文做出不安全的扣除)关于数据的性质。然后他向你展示如何解决它。

所有这些都是有价值的。所有这些仅仅是不完整的。

而我第二个乔纳森刘易斯的好作品的建议;他有一个非常公平的调节博客上以http://jonathanlewis.wordpress.com

0

您也可以尝试使用Oracle SQL调优工具,设在这里https://sql-tuning.com

+0

链接只有答案在这里不鼓励。此外,第一个示例建议是“用COUNT(1)”代替COUNT(*),这是Oracle着名的性能调优神话。 – 2014-06-25 03:12:18

+0

我相信第一个例子只是一个例子。如果插入SQL: SELECT * FROM a_table a,b_table b WHERE a.text = b.text;然后点击链接“INSERT TABLE SCRIPTS”并插入表脚本:CREATE TABLE a_table(TEXT VARCHAR2(4000 BYTE)); CREATE TABLE b_table(TEXT VARCHAR2(4000 BYTE)); 然后你应该得到一些有用的建议 – sulica 2014-06-28 07:27:30