帳號:
密碼:
最新動態
 
產業快訊
CTIMES / 文章 /
企業增加資料庫存取速率的解決方案
SQL 的應用

【作者: 編輯部】   2001年09月01日 星期六

瀏覽人次:【2790】

前言

隨著使用者的需求增多及商業模式的日新月異,軟體系統的複雜度日益提高,對於系統程式或資料庫物件中存取關聯式資料庫的指令 - SQL(Structure Query Language) 的執行效能也日亦受到重視。因此,本期IP顧問室請到倍力資訊SQL產品經理謝肇暐,透過Q & A的方式,討論SQL tuning的技術發展,以及如何選擇SQL Tunning的工具,以期達到縮短設計時程以及增進資料庫執行效能的效果。


傳統 SQL 面臨的問題

Q1. 有哪些因素會影響系統執行的效能 ?


答:系統運作的穩定與否,與硬體軟體都有關係,依據經驗,可以從下面幾個因素來考量:


硬體,例如CPU速度、記憶體大小等硬體配備。資料庫系統架構及資料庫設計方式、系統組態設定、網路結構,這包括企業網路的建構方式、頻寬的大小、網路使用的狀況等。


通常我們可以說SQL是關聯式資料庫系統的核心( heart )。 SQL 指令的執行約佔系統資源的70% ~ 90%,若能有效降低 SQL 耗用的資源,對系統整體的執行效率應會有一定程度的提昇。


Q2.傳統上我們如何對SQL指令做tuning ? 傳統方法常面臨哪些問題 ?


答:傳統上,我們在遇到SQL的performance問題時,經常是使用try and error的方式,運用以往的經驗或專業知識,將 source SQL 改寫成幾個執行結果相同的 SQL 指令,再一個一個去測試,並下指令取得各個執行時間及耗用資料庫的成本資訊,也許兩三天後,可將原本的SQL調校成執行效能很好的SQL指令,但卻已經精疲力竭,而且耽擱了其他更重要的事情的進度。


SQL 的特色

Q3. SQL程式語言有何特性,為什麼可以做 tuning?


答: SQL 指令亦屬於程式語言的一種,但是其與其他程式語言卻存在一些差異,下面列出幾項差異:


(1)SQL與一般的程式語言最大的不同在於SQL語句不論長短,只要是對資料庫而言是有效的,則它就是一個完整的指令,即可擷取資料庫中的特定資訊。也由於這樣的特性,我們可以藉由調校SQL敘述,來改變其執行效能。


(2)相同的SQL語句在不同時間執行,其執行時間及對資料庫的資源耗費程度也不盡相同。其原因在於資料庫對於SQL的處理,是依據當時資料庫的使用狀況,動態決定擷取資料的路徑。


(3)特別是關聯性資料庫在處理 SQL 指令時,會經過幾個步驟,請參照(圖一):


1.改寫SQL敘述並產生可能的執行計劃

資料庫利用內部的最佳化器(Optimizer)改寫SQL,並產生SQL的執行計劃(Execution Plan)。執行計劃可以看成是資料庫為了擷取特定資料所要經過的路徑。舉例來說,要從台北到高雄有許多種方式,可以做飛機、搭火車、開車走高速公路、開車走省道等等。資料庫亦可以有多種執行計劃來獲得相同的資料,每一種執行計劃對資料庫的執行成本、執行速度皆不同。


2.依據產生的執行計劃分別估計其執行成本

產生不同的執行計劃後,資料庫系統會根據本身的規則估計每一執行計劃的成本。成本的估計方式,各資料庫都不同,簡單而言是依據不同的存取方式分項估計,再加總而成。例如不同的scan方式、存取路徑,其所給的分數不同,最後再將這些項目加總而成。


3.選擇最低的執行成本執行該SQL指令

估計完每一個執行計劃後,資料庫系統選出一個估計成本最低的執行計劃來執行,擷取資料。


SQL 工具帶來的優勢

Q4.一般SQL tuning工具的開發理念為何? 使用SQL tuning的工具可為使用者帶來哪些利益?


答: SQL tuning 工具利用人工智慧( A.I. ),讓使用者在短時間內(例如十分鐘)完成平常可能需要兩三天工作量的SQL效能調整工作,並且確保調整後的SQL執行速度最佳或耗用成本最低。


團隊中往往有一些較初級的程式設計人員或資料庫管理人員,藉由SQL tuning工具,可以快速撰寫SQL或者不同資料庫專屬的資料查詢語言(例如:Oracle的PL/SQL,Sybase的Transact-SQL )。這種邊做邊學的方式,讓使用者在不影響專案進度的下,利用比較tuning後SQL與source SQL的不同,以及藉由看懂SQL執行計劃( Execution Plan ),訓練自己成為撰寫SQL指令的高手,間接提昇整個團隊的素質。


相關文章
企業用行動資料庫將邁向個人化市場
Commerce Server 2000 之型錄建立
XML的查詢語言
XML企業應用伺服架構
政府應鼓勵網際軟體開發工具產業
comments powered by Disqus
相關討論
  相關新聞
» 施耐德電機響應星展銀行ESG Ready Program 為台灣打造減碳行動包
» 台達推出5G ORAN小型基地台 實現智慧工廠整合AI應用
» 歐洲航太技術展在德國盛大展開,全球吸睛 鐳洋推出衛星通訊整合方案,目標搶佔龐大的歐洲衛星商機
» 經濟部促成3GPP大會來台爭話語權 大廠共商5G/6G技術標準
» 經濟部支持跨國研發有成 台歐雙方分享B5G~6G規劃


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.145.175.50
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw