資源描述:
《sqlserver性能優(yōu)化寶典》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、SQLServer性能優(yōu)化寶典1).優(yōu)化方法論61.分析實例的等待62.聯系等待和隊列73.確定方案84.細化到數據庫/文件級[Page82]85.細化到進程級(指存儲過程,查詢等)96.優(yōu)化索引/查詢102).優(yōu)化工具101.查看sql內部執(zhí)行計劃生成優(yōu)化信息102.顯示查詢計劃101).文本102).XML113).圖形113.syscachobjects114.清空緩存(數據/查詢計劃)115.動態(tài)管理對象116.STATISTICSIO117.STATISTICSTIME128.分析執(zhí)行計劃128.1.取得緩存中每個計劃的XML計劃138.2.過多的重新編譯148.3.
2、不夠高效的查詢計劃148.4.執(zhí)行計劃重用次數159.索引優(yōu)化159.1.索引優(yōu)化概要和分析159.2.查看索引碎片信息159.3.重新生成和重新組織索引179.4.查看沒有使用的索引189.5.查看已經使用且如何使用索引列表199.6.查看每個表的索引結構209.7.查看索引列順序209.8.同時查看使用和未使用索引及列位置信息219.9.查看聚集表個數229.10.索引使用效率評估239.11.評估索引的選擇性2310.數據庫和文件空間2310.1查看數據庫空間2310.2查看數據庫中每個表的占用空間2310.3查看數據庫頁面信息2510.4獲取數據文件頭部信息2510.5
3、.查看數據庫文件表信息2610.6.查看數據庫信息2610.7.查看數據庫日志文件信息2610.8.查看表中有多少重定向的行2610.9.查看數據庫的版本和補丁信息2711.監(jiān)視命令2712.SQL2813.跟蹤293).性能故障檢測方法311.CPU311.1可運行狀態(tài)下的工作進程數量311.2工作進程在可運行狀態(tài)下花費的時間311.3每次執(zhí)行過程中占用CPU最多的前10位查詢311.4每次執(zhí)行過程中運行最頻繁的查詢[與1.2同用]321.5編譯和重編譯321.6獲取分配給用于存儲優(yōu)化查詢計劃的過程高速緩存的內存321.7確定服務器的活動332.內存332.1物理內存壓力的檢
4、測332.2虛擬內存壓力的檢測342.3內存壓力的隔離和排查353.I/O363.1I/O瓶頸的檢測363.2I/O瓶頸的隔離和排查374.tempdb384.1tempdb性能問題的檢測384.2tempdb瓶頸的隔離和排查394.3檢查tempdb空閑空間方法405.阻塞405.1阻塞的檢測(V)405.2隔離和排查阻塞故障416.死鎖436.1使用sys.dm_tran_locksDMV在給定的時間點探測表鎖(X)436.2防止鎖升級—設置表在1小時內防止鎖升級436.3顯示發(fā)生5秒以上的等待(V)436.4顯示處于WAIT狀態(tài)的鎖(A)(V)446.5顯示每個等待資源已
5、授權和等待中的鎖(B)(V)446.6返回resource_associated_entity_id表示的實際對象(C)(V)456.7提取等待查詢文本(V)466.8監(jiān)視全快照隔離級別事務466.9命令476.10跟蹤標記1204486.11查看鎖信息[存儲過程1]486.12查看鎖信息[存儲過程2]497.排除故障517.1207錯誤提示517.2查看連接數518.信息查詢518.1查看數據庫是否啟用AWE518.2查看SQLServer通過AWE機制分配了多少內存519.存儲引擎529.1查看數據庫信息(實例/數據庫/文件信息)529.2查看數據庫信息(表/對象)529.
6、3查看數據庫信息(對象存儲視圖)549.4查看頁面結構569.5PFS頁面結構589.6IAM頁面結構589.7DBCCIND599.8獲取表的頁面信息619.9轉換頁面地址為頁號6210.資源6310.1SQLSERVER等待類型631).優(yōu)化方法論->分析實例的等待->聯系等待和隊列->確定方案->細化到數據庫/文件級->細化到進程級->優(yōu)化索引/查詢1.分析實例的等待1.1返回系統(tǒng)中的等待(按類型排序)--SQLServer2005SELECTwait_type,waiting_tasks_count,wait_time_ms,max_wait_time_ms,signa
7、l_wait_time_msFROMsys.dm_os_wait_statsORDERBYwait_type;--SQLServer2000DBCCSQLPERF(WAITSTATS);--列解釋列名數據類型說明wait_typenvarchar(60)等待類型的名稱。waiting_tasks_countbigint該等待類型的等待數。該計數器在每開始一個等待時便會增加。wait_time_msbigint該等待類型的總等待時間(毫秒)。此時間包含signal_wait_time。max_