亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL SERVER 的SQL語句優化方式小結

2024-08-31 00:59:20
字體:
來源:轉載
供稿:網友
1、SQL SERVER 2005的性能工具中有SQL Server Profiler和數據庫引擎優化顧問,極好的東東,必須熟練使用。

2、查詢SQL語句時打開“顯示估計的執行計劃”,分析每個步驟的情況

3、初級做法,在CPU占用率高的時候,打開SQL Server Profiler運行,將跑下來的數據存到文件中,然后打開數據庫引擎優化顧問調用那個文件進行分析,由SQL SERVER提供索引優化建議。采納它的INDEX索引優化部分。

4、但上面的做法經常不會跑出你所需要的,在最近的優化過程中CPU占用率極高,但根本提不出我需要的優化建議,特別是有些語句是在存儲過程中并且多表聯立。這時就需要用中級做法來定位占用CPU高的語句。

5、還是運行SQL Server Profiler,將運行結果保存到某個庫的新表中(隨便起個名字系統會自己建)。讓它運行一段時間,然后可以用
select top 100 * from test where textdata is not null order by duration desc
這個可以選出運行時間長的語句,在ORDER BY 中可以替換成CPU、READS,來選出CPU占用時間長和讀數據過多的語句。
定位出問題的語句之后就可以具體分析了。有些語句在執行計劃中很明顯可以看出問題所在。
常見的有沒有建索引或索引建立不合理,會出現table scan或index scan,凡是看到SCAN,就意味著會做全表或全索引掃描,這是帶來的必然是讀次數過多。我們期望看到的是seek或鍵查找。

6、怎么看SQL語句執行的計劃很有講究,初學者會過于關注里面顯示的開銷比例,而實際上這個有時會誤導。我在實際優化過程中就被發現,一個index scan的執行項開銷只占25%,另一個鍵查找的開銷占50%,而鍵查找部分根本沒有可優化的,SEEK謂詞就是ID=XXX這個建立在主鍵上的查找。而仔細分析可以看到,后者CPU開銷0.00015,I/O開銷0.0013。而前者呢,CPU開銷1.4xxxx,I/O開銷也遠大于后者。因此,優化重點應該放在前者。

7、如何優化單個部分,一個復雜的SQL語句,SQL SERVER會很聰明地重組WHERE后的語句,試圖匹配索引。選中帶優化的步驟,選擇旁邊的‘屬性”,再選擇其中的“謂詞”,將其中部分復制下來,這部分就是分解后的WHERE 語句,然后在查詢界面中select * from 表 where 剛才復制下來的“謂詞”。這個就是需要優化的部分,既然已經走到這一步了,大部分人應該能手動建立索引了,因為這里的WHERE語句比之前的肯定簡單不少。(在我項目中原始SELECT語句的WHERE部分有10個條件組合,涉及6個字段,提取出來要優化的部分就4個條件,涉及到3個字段。新的索引建立后,CPU占用率一下子就降低了,而且新建立的索引涉及的字段屬于不常UPDATE的部分,頻繁的讀寫操作不會影響UPDATE的效率)

8、以上就是優化的思路,最后提一些優化過程或是系統設計時中需要注意的問題。
A、盡量避免用select * from xxx where abc like '%xxx'類型的模糊查詢,因為%在前面的話是無法利用到索引,必然會引起全量SCAN操作。應該找尋替代方式或用前置條件語句把like查找之前的行數減到最低。
B、盡量避免對大表數據進行select top n * from xxx where xxxx order by newid()的取隨機記錄的操作。newid()操作會讀全量數據后再排序。也會占用大量CPU和讀操作??梢钥紤]用RAND()函數來實現,這方面我還在研究中,對于整表操作比較好弄,比如id>=(select max(id) from table)*rand()。但如果取局部數據的隨機記錄還需要思量。
C、在SQL Server Profiler記錄中會看到Audit Logout會占用大量CPU和讀寫等操作。查了一些資料稱是某個鏈接在某次連接過程中執行SQL語句產生的總數,不用過于擔心??聪聛淼拇_似乎這樣,很多Audit Logout的CPU和IO消耗量和之前優化的語句基本一致。所以在第5點我提的SQL語句用textdata is not null條件把Audit Logout給隱去。
D、兩個不同字段OR語句會導致全表掃描。例如 where m=1 or n=1。如果建立一個索引是m和n,同樣會引起scan,解決方法是給m和n分別建立索引。測試12萬條數據的表,索引建立錯誤的情況下IO開銷高達 10.xxx,分別建立索引后,全部變成0.003,這個反差是非常巨大的。雖然會引起INSERT操作的性能問題,但畢竟大部分瓶頸在SELECT的讀操作上。
E、索引查找(Index Seek)和索引掃描(Index Scan),我們需要的是前者,而引起后者的原因通常是某個索引里的字段多余要查找的,例如索引建立在A和B兩個字段,而我們只要查找A,則會導致 INDEX SCAN。建議針對單獨的A建立索引,以形成索引查找。
F、對于小表不建議建立索引,特別是幾百的數據量,只有上千上萬級別的數據建立索引才有效果。

數據庫優化是很深的學問,在數據庫設計時就應該注意,特別是最后提到的A、B兩點,盡可能在設計初期避免。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕无线精品亚洲乱码一区| 久久成人精品视频| 久久久久女教师免费一区| 日韩精品小视频| 国产日韩欧美夫妻视频在线观看| 欧美在线性视频| 国内精品模特av私拍在线观看| 国产精品香蕉在线观看| 国产精品久久久久久久久久99| 91中文字幕一区| 亚洲色图av在线| 日韩精品免费一线在线观看| 久久人人爽人人爽人人片av高请| 日韩在线精品一区| 日韩中文视频免费在线观看| 97在线视频国产| 国产91精品久久久久久久| 国产美女精品免费电影| 国产精品视频yy9099| 久久精品国亚洲| 久久精品视频在线| 亚洲va国产va天堂va久久| 欧美在线精品免播放器视频| 精品国偷自产在线| 亚洲欧洲成视频免费观看| 亚洲成人久久久| 亚洲精品一区中文字幕乱码| 日韩视频永久免费观看| 国产视频久久久久久久| 一区二区欧美久久| 成人午夜一级二级三级| 亚洲欧美成人网| 欧美成人黄色小视频| 亚洲国产精彩中文乱码av在线播放| 欧美性猛交xxxx| 91亚洲精品久久久| 日韩在线视频观看| 欧美午夜丰满在线18影院| 欧美丰满少妇xxxx| 久久天天躁狠狠躁夜夜爽蜜月| 日韩av成人在线观看| 日韩电影大全免费观看2023年上| 91在线免费观看网站| 在线成人激情黄色| 国产精品亚洲欧美导航| 国产成人精品久久亚洲高清不卡| 亚洲在线视频福利| 亚洲欧美国产精品va在线观看| 日韩色av导航| 亚洲高清不卡av| 欧美成在线视频| 欧美激情在线观看视频| 亚洲最大av在线| 欧美性猛交xxxx乱大交蜜桃| 国外成人性视频| 国产精品综合久久久| 亚洲欧美精品一区二区| 精品久久久一区二区| 久久久久中文字幕| 亚洲欧美资源在线| 91精品国产综合久久久久久蜜臀| 久久久久久久久久国产| 亚洲男女自偷自拍图片另类| 亚洲欧美制服另类日韩| 国产精品久久久久久久久影视| 亚洲欧美国产另类| 欧美专区福利在线| 浅井舞香一区二区| 欧美激情精品久久久久久久变态| 欧洲亚洲妇女av| 久久视频在线看| 国产69精品久久久久久| 欧美黑人又粗大| 91wwwcom在线观看| 欧美大全免费观看电视剧大泉洋| 日产日韩在线亚洲欧美| 丁香五六月婷婷久久激情| 精品视频中文字幕| 亚洲国产成人久久综合| 久久久亚洲影院你懂的| 国产在线高清精品| 国产精品久久久av| 欧美性xxxx在线播放| 一本色道久久综合亚洲精品小说| 国产精品免费视频xxxx| 91久久在线观看| 最近2019中文字幕一页二页| 欧美性猛交99久久久久99按摩| 久久久国产精彩视频美女艺术照福利| 国产97人人超碰caoprom| 亚洲精品自产拍| 日韩欧美在线免费| 久久青草福利网站| 亚洲美女免费精品视频在线观看| 亚洲直播在线一区| 国产99在线|中文| 亚洲性日韩精品一区二区| 国产精品永久免费视频| 国产91ⅴ在线精品免费观看| 粉嫩av一区二区三区免费野| 91精品在线一区| 国产精品久久色| 欧美黑人一区二区三区| 亚洲无亚洲人成网站77777| 亚洲欧美日韩天堂一区二区| 亚洲欧洲日韩国产| 日韩精品视频在线免费观看| 美女999久久久精品视频| 国产成人免费av| 国产91色在线播放| 成人av资源在线播放| 91九色精品视频| 久久久久久久亚洲精品| 久久免费视频网| 亚洲码在线观看| 91精品在线一区| 51色欧美片视频在线观看| 91日韩在线播放| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久免费精品视频| 成人在线观看视频网站| 中文字幕日韩电影| 欧美日韩成人在线播放| 美女久久久久久久久久久| 久久偷看各类女兵18女厕嘘嘘| 国产99在线|中文| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美午夜精品久久久久久浪潮| 亚洲天堂av在线免费| 久久久视频在线| 狠狠干狠狠久久| 久久精品国亚洲| 欧美中文在线免费| 亚洲最新av在线网站| 欧美国产日韩精品| 在线电影欧美日韩一区二区私密| 欧美乱大交xxxxx另类电影| 日韩av资源在线播放| 亚洲精品一区中文| 92版电视剧仙鹤神针在线观看| 国产欧美日韩亚洲精品| 久久精品国产亚洲| 日韩欧美亚洲综合| 国产中文日韩欧美| 国产精品69久久久久| 91视频免费在线| 久久国产精品免费视频| 91亚洲精品一区二区| 欧美黑人一区二区三区| 亚洲国产精品yw在线观看| 亚洲欧美精品一区| 91美女高潮出水| 欧美精品一区在线播放| 亚洲另类xxxx| 欧美理论片在线观看| 国产精品aaaa| 国产精品444| 丝袜一区二区三区| 日韩精品在线第一页| 欧美电影免费观看高清完整| 欧美激情手机在线视频| 亚洲欧美福利视频| 精品一区精品二区| 国产在线观看不卡|