婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

熱門標簽:衛星地圖標注距離 競圣地圖標注服務 貴州外呼回撥系統是什么 陽光創信ai外呼獲客系統助力 云南全自動外呼系統公司 安陽天音防封電銷卡 智能外呼系統需要多少錢 外呼系統的話術 智能語音車載電話機器人

通過觀察執行計劃,發現之前的執行計劃在很多大表連接的部分使用了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 b
ON a.SalesOrderID=b.SalesOrderID

代碼清單1.

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


圖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盡可能的使用并行,從而降低執行時間。

您可能感興趣的文章:
  • 淺析SQL Server 聚焦索引對非聚集索引的影響
  • MySQL中主鍵索引與聚焦索引之概念的學習教程
  • SQLSERVER中得到執行計劃的兩種方式
  • SqlServer 執行計劃及Sql查詢優化初探
  • SQL Server中參數化SQL寫法遇到parameter sniff ,導致不合理執行計劃重用的快速解決方法
  • 淺析SQL Server中的執行計劃緩存(下)
  • 淺析SQL Server中的執行計劃緩存(上)
  • 淺析SQL Server的聚焦使用索引和查詢執行計劃

標簽:湘潭 營口 河源 周口 寧夏 欽州 鄂爾多斯 預約服務

巨人網絡通訊聲明:本文標題《強制SQL Server執行計劃使用并行提升在復雜查詢語句下的性能》,本文關鍵詞  強制,SQL,Server,執行,計劃,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《強制SQL Server執行計劃使用并行提升在復雜查詢語句下的性能》相關的同類信息!
  • 本頁收集關于強制SQL Server執行計劃使用并行提升在復雜查詢語句下的性能的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 韶山市| 盐边县| 金塔县| 韶关市| 和龙市| 沽源县| 黎平县| 榆社县| 昌吉市| 阳信县| 五原县| 巴里| 湘西| 三门县| 同江市| 四子王旗| 胶州市| 溆浦县| 宝坻区| 临夏市| 莱西市| 昔阳县| 邳州市| 逊克县| 习水县| 突泉县| 潼关县| 板桥市| 蒙自县| 湖口县| 元江| 江川县| 桦甸市| 乌鲁木齐县| 牡丹江市| 枣强县| 陆丰市| 泗水县| 乌拉特中旗| 共和县| 中方县|