麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

強制SQL Server執行計劃使用并行提升在復雜查詢語句下的性能

2024-08-31 01:02:40
字體:
來源:轉載
供稿:網友

通過觀察執行計劃,發現之前的執行計劃在很多大表連接的部分使用了Hash Join,由于涉及的表中數據眾多,因此查詢優化器選擇使用并行執行,速度較快。而我們優化完的執行計劃由于索引的存在,且表內數據非常大,過濾條件的值在一個很寬的統計信息步長范圍內,導致估計行數出現較大偏差(過濾條件實際為15000行,步長內估計的平均行數為800行左右),因此查詢優化器選擇了Loop Join,且沒有選擇并行執行,因此執行時間不降反升。

由于語句是在存儲過程中實現,因此我們直接對該語句使用一個undocument查詢提示,使得該查詢的并行開銷閾值強制降為0,使得該語句強制走并行,語句執行時間由20秒降為5秒(注:使用Hash Join提示是7秒)。

下面通過一個簡單的例子展示使用該提示的效果,示例T-SQL如代碼清單1所示:

SELECT *FROM [AdventureWorks].[Sales].[SalesOrderDetail] a INNER JOIN [Sales].SalesOrderHeader bON a.SalesOrderID=b.SalesOrderID

代碼清單1.

該語句默認不會走并行,執行計劃如圖1所示:

強制SQL Server執行計劃使用并行提升在復雜查詢語句下的性能


圖1.

下面我們對該語句加上提示,如代碼清單2所示。

SELECT * FROM [AdventureWorks].[Sales].[SalesOrderDetail] a INNER JOIN [Sales].SalesOrderHeader b ON a.SalesOrderID=b.SalesOrderID OPTION(querytraceon 8649)

代碼清單2.

此時執行計劃會按照提示走并行,如圖2所示:


圖2.

在面對一些復雜的DSS或OLAP查詢時遇到類似的情況,可以考慮使用該Undocument提示要求SQL Server盡可能的使用并行,從而降低執行時間。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品av久久久久久久久久 | 国产精品欧美久久久久一区二区 | 中国a毛片 | 成人男女啪啪免费观看网站四虎 | 亚洲一区二区观看播放 | 中国fx性欧美xxxx | 久草在线观看首页 | 国产午夜精品一区二区三区在线观看 | 久久激情免费视频 | 日本精品免费观看 | japanese末成年free | 亚洲国产网址 | 91在线色| 蜜桃视频在线免费播放 | 久久丝袜脚交足黄网站免费 | 久久成人黄色 | 超碰人人做人人爱 | 婷婷久久久久久 | 国产精品成人免费一区久久羞羞 | 国产成人精品自拍视频 | 免费在线观看毛片视频 | 麻豆一区二区99久久久久 | 国产91大片 | 欧美成人性生活片 | 日韩精品中文字幕在线播放 | 久久精品视频12 | 国产91精品亚洲精品日韩已满 | 欧美国产综合视频 | av电影在线观看网站 | 亚洲国产资源 | 亚洲一级片在线观看 | 亚洲电影在线播放 | 日本在线播放一区二区三区 | 国产91在线亚洲 | a网站在线 | free japan xxxxhdsex69| 4399一级成人毛片 | 日韩一级片一区二区三区 | 免费播放av | 久久精品男人 | 免费看一级片 |