日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Informix-Online數(shù)據(jù)庫的查詢優(yōu)化策略

【Informix-Online數(shù)據(jù)庫的查詢優(yōu)化策略】
Informix-Online 動態(tài)服務器(IDS,Informix-Online Dynamic Server)作為Informix數(shù)據(jù)庫產品技術的核心,以其動態(tài)可伸縮體系結構,高效的并行處理能力、共享內存技術及易管理性等特點,將硬件資源發(fā)揮得淋漓盡致 。當前IDS V7正廣泛地應用于我國金融、郵政、電信等行業(yè)的關鍵系統(tǒng)中,隨著應用的不斷深入,數(shù)據(jù)的積累,查詢的復雜化,查詢速度會變慢,致使響應時間過長 。許多用戶將其歸結為硬件的原因,于是升級改造,或重新投資,數(shù)據(jù)庫的調優(yōu)并沒有引起足夠的重視 。這其實是一種浪費,與國外發(fā)達國家輕硬件、重應用的思路正好相反 。實踐表明,數(shù)據(jù)庫的不合理配置和不適當優(yōu)化是其性能下降的主要因素 。實施對IDS上數(shù)據(jù)庫的管理維護、性能調優(yōu)是系統(tǒng)管理員的主要工作,而能否得以良好的查詢響應則集中體現(xiàn)了數(shù)據(jù)庫的性能,因此也是調優(yōu)的重點 。從系統(tǒng)管理的角度,我們可以設置多線索、合理分配共享內存空間、建立數(shù)據(jù)庫和表的分布及分片管理等來加快查詢速度,但最終還要基于對數(shù)據(jù)庫本身的全面理解,因為數(shù)據(jù)處于不斷的變化和積累之中,并且隨著應用的深入查詢將日趨復雜化 。本文從數(shù)據(jù)管理的角度闡述了幾種查詢優(yōu)化策略,實際應用中有很好的收效,現(xiàn)說明如下 。
一、查詢的分類及要求
針對語句中所涉及的數(shù)據(jù)庫表的數(shù)目查詢可分為:單表查詢、多表查詢、聯(lián)合查詢、子查詢等,多表查詢建立在多張表的連接之上,分嵌套循環(huán)、合并排序、哈希連接三種方式,最為復雜,也是調優(yōu)的重點 。目前數(shù)據(jù)庫的應用分為聯(lián)機事務處理(OLTP,Online Transaction Processing)和決策支持系統(tǒng)(DSS,Decision Support System)兩大類型,它們對查詢的要求不盡相同 。OLTP主要涉及單張表,SQL語句簡單,數(shù)據(jù)按索引讀取,查詢行數(shù)少,對響應的時間要求非??量蹋T诿爰壔蛞韵?,多用于在線實時業(yè)務;DSS涉及多張表之間的連接查詢,SQL語句復雜,數(shù)據(jù)按物理順序讀取,查詢行數(shù)多,響應時間長,多用于建立在數(shù)據(jù)倉庫技術之上的復雜的數(shù)據(jù)分析 。但無論何種情況,我們都希望最快的響應速度,這也是調優(yōu)的最終目標 。
二、查詢的優(yōu)化策略
1.充分利用查詢優(yōu)化器
查詢優(yōu)化器提供了數(shù)據(jù)查詢的優(yōu)化策略分析和選擇方式,通過設置相關參數(shù),優(yōu)化器能夠選擇最佳的連接策略,并在所有的查詢路徑中找出一條最優(yōu)路徑 。選擇良好的路徑是查詢優(yōu)化中至關重要的一環(huán),一條好的路徑可以掃描最少的記錄,以最少的磁盤I/O得到正確的查詢結果 。可通過以下步驟進行 。
(1)設置連接策略
通過修改配置文件$ONCONFIG中的OPTCOMPIND參數(shù)值來實現(xiàn) 。
OPTCOMPIND 0:在連接中優(yōu)化器只選擇索引連接 。
OPTCOMPIND 1:若事務處理為可重復讀模式(Repeatable Read),則選擇索引策略,否則,優(yōu)化器自動選擇開銷最低的連接策略 。
OPTCOMPIND 2:優(yōu)化器自動選擇開銷最低的連接策略 。應盡量選擇該參數(shù) 。
(2)設置查詢優(yōu)化的模式
也即選擇最優(yōu)的查詢路徑,通過執(zhí)行以下SQL語句來實現(xiàn),格式為:
SET OPTIMIZATION [ HIGH | LOW | FIRST_ROWS | ALL_ROWS ]
其中,HIGH是缺省選項,表示對所有查詢路徑都進行檢測,從中選擇最優(yōu) 。
LOW表示采用深度優(yōu)先法僅在部分路徑中選擇最優(yōu),即在每次連接比較中,遇到最優(yōu)路徑就繼續(xù)深入而濾掉非最優(yōu)路徑,特點是優(yōu)化時間短,但路徑準確率低 。
FIRST_ROWS和ALL_ROWS是自IDS V7.3開始增加的新選項,無論對OLTP還是DSS都非常有用 。傳統(tǒng)的查詢(即ALL_ROWS方式)一次將所有查詢結果輸出到共享內存緩沖區(qū)中,時間的消耗非常大,然而實踐表明,大部分用戶僅關注最初的幾屏輸出內容,因此FIRST_ROWS選項為我們提供了很好的選擇 。FIRST_ROWS指導優(yōu)化器選擇一條查詢路徑,使其只輸出填滿一個緩沖區(qū)的記錄數(shù),如果用戶繼續(xù)查詢則繼續(xù)執(zhí)行,這樣避免了不必要的輸出結果和時間浪費,也使查詢速度大大提高 。

推薦閱讀