程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase教程 >> 查看sybase IQ的執行計劃(一)

查看sybase IQ的執行計劃(一)

編輯:SyBase教程

  在性能調優工作中,首要的事情是找出性能瓶頸。而針對數據庫應用,由於商用數據庫對上層應用來說是個黑盒,所以往往需要借助數據庫的一些接口或工具來了解數據庫的具體行為,並結合相關知識和業務進行調測。
    簡單來說,數據庫在執行一個查詢之前,會為該查詢生成一個最優(至少它這樣認為)的查詢計劃(Query Plan),然後再根據計劃的指示來執行實際的操作和處理。如果能了解到查詢計劃,也就能知道一個查詢真正是怎樣執行下來的、時間都耗在哪裡、有哪些影響因素等。
第一步:創建報告目錄
在正常運行的時候,查詢計劃是不會顯式生成的,但經過後面步驟的配置後,可以指示IQ將每次查詢的計劃顯式生成為文件供開發人員查閱,所以需要預先為其創建一個目錄,如:
mkdir /export/home/zyx/ganjd
其中目錄可以隨意制定,但為了多個開發人員共用服務器的時候不互相影響,應該各自創建自己的目錄。該目錄應該對運行IQ服務器所使用的帳號有讀寫權限,最簡單就是直接將該目錄chmod為777就可以了。
第二步:配置鏈接選項
就是通過修改數據庫的配置項,讓IQ在執行查詢的時候生成查詢計劃的報告。一般可以直接在鏈接了IQ的客戶端程序(如Aqua Data Studio或Interactive SQL)上使用下面的語句配置即可:
SET TEMPORARY OPTION QUERY_PLAN_AS_HTML_DIRECTORY ='/export/home/zyx/ganjd';
SET TEMPORARY OPTION QUERY_PLAN = ON;
SET TEMPORARY OPTION QUERY_DETAIL = ON;
SET TEMPORARY OPTION QUERY_TIMING = ON;
SET TEMPORARY OPTION QUERY_PLAN_AFTER_RUN = ON;
SET TEMPORARY OPTION QUERY_PLAN_AS_HTML = ON;
SET TEMPORARY OPTION INDEX_ADVISOR = ON;
SET TEMPORARY OPTION NOEXEC = ON;
需要注意的是,雖然在語法上上述SET OPTION中的TEMPORARY不是必須的, 但建議加上,用於指定該選項的修改只對當前鏈接有效,並且在鏈接斷開後自動恢復。這樣就可以避免多個開發人員共用服務器的時候的沖突。

作者“lzz7658823”
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved