Informix資料庫SQL語句快取技術應用實踐

來源:互聯網
上載者:User

正如我們所知,Informix 資料庫最佳化器採用基於“成本”最佳化方式,當接收到使用者發出的SQL語句後,Informix最佳化器要對SQL語句進行編譯,根據成本最低的原則產生最終的執行計畫進行執行。對於每一個SQL語句,都要進行編譯工作,為了提高系統的效能,特別是對具有大量相同SQL語句的系統,Informix從9.2版本開始,就提供了SQL語句快取機制SQL Statement Cache (SSC),將已分析並最佳化的SQL語句緩衝到記憶體中,以使執行相同SQL語句的多個使用者能夠實現以下效能改進:

回應時間縮短,原因是繞過了分析和最佳化步驟

佔用的記憶體量減少,原因是資料庫伺服器在使用者間共用查詢資料結構

通過採用SQL語句快取機制,可以大大提高擁有大量相同SQL語句系統的效能。

下圖顯示資料庫伺服器如何對多個使用者訪問SQL語句快取。

圖 1. 使用SQL語句快取時的資料庫伺服器操作

當資料庫伺服器第一次為使用者 1 執行SQL語句時,資料庫伺服器檢查完全一樣的SQL語句是否在SQL語句快取中。如果不在快取中,那麼資料庫伺服器分析該語句、確定最優的查詢計劃並執行該語句。

當使用者 2 執行完全一樣的SQL語句時,資料庫伺服器在SQL語句快取中尋找該語句而不需要分析和最佳化該語句。

同樣,如果使用者 3 和使用者 4 執行完全一樣的SQL語句,資料庫伺服器不必分析和最佳化該語句。相反,它使用記憶體中SQL語句快取內的分析資訊和查詢計劃。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.