如何最佳化資料庫,如何提高資料庫的效能?

來源:互聯網
上載者:User

標籤:簡單   語句   比較   服務   維護   索引值   索引   sql   結構   

解答:

 

1) 硬體調整效能 最有可能影響效能的是磁碟和網路輸送量,解決辦法擴大虛擬記憶體,並保證有足夠可以擴充的空間;把資料庫伺服器上的不必要服務關閉掉;把資料庫伺服器和主網域服務器分開;把SQL資料庫伺服器的輸送量調為最大;在具有一個以上處理器的機器上運行SQL。

 

2)調整資料庫

 

若對該表的查詢頻率比較高,則建立索引;建立索引時,想盡對該表的所有查詢搜尋操作, 按照where選擇條件建立索引,盡量為整型鍵建立為有且只有一個簇集索引,資料在物理上按順序在資料頁上,縮短尋找範圍,為在查詢經常使用的全部列建立非簇集索引,能最大地覆蓋查詢;但是索引不可太多,執行UPDATE DELETE INSERT語句需要用於維護這些索引的開銷量急劇增加;避免在索引中有太多的索引鍵;避免使用大型資料類型的列為索引;保證每個索引索引值有少數行。

 

3)使用預存程序

 

應用程式的實現過程中,能夠採用預存程序實現的對資料庫的操作盡量通過預存程序來實現,因為預存程序是存放在資料庫伺服器上的一次性被設計、編碼、測試,並被再次使用,需要執行該任務的應用可以簡單地執行預存程序,並且只返回結果集或者數值,這樣不僅可以使程式模組化,同時提高響應速度,減少網路流量,並且通過輸入參數接受輸入,使得在應用中完成邏輯的一致性實現。

 

4)應用程式結構和演算法

 

建立查詢條件索引僅僅是提高速度的前提條件,響應速度的提高還依賴於對索引的使用。因為人們在

 

使用SQL時往往會陷入一個誤區,即太關注於所得的結果是否正確,特別是對資料量不是特別大的資料庫操作時,是否建立索引和使用索引的好壞對程式的響應速度並不大,因此程式員在書寫程式時就忽略了不同的實現方法之間可能存在的效能差異,這種效能差異在資料量特別大時或者大型的或是複雜的資料庫環境中(如聯機交易處理OLTP或決策支援系統DSS)中表現得尤為明顯。在工作實踐中發現,不良的SQL往往來自於不恰當的索引設計、不充份的串連條件和不可最佳化的where子句。在對它們進行適當的最佳化後,其運行速度有了明顯地提高!

如何最佳化資料庫,如何提高資料庫的效能?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.