2010-09-14 30 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