亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

查詢優(yōu)化建議

系統(tǒng) 2509 0

某些查詢占用的資源比其他查詢占用的資源多。例如,返回大型結(jié)果集的查詢和那些包含 WHERE 子句(并非唯一子句)的查詢總是占用大量資源。與不太復(fù)雜的查詢相比,查詢優(yōu)化器的智能水平無法消除這些構(gòu)造的資源開銷。SQL Server 使用最佳訪問計劃,但查詢優(yōu)化會受到可訪問內(nèi)容的限制。

盡管如此,您可以執(zhí)行下列操作來提高查詢性能:

  • 添加更多內(nèi)存。當(dāng)服務(wù)器運行許多復(fù)雜查詢且其中幾個查詢執(zhí)行很慢時,此解決方案尤其有用。

  • 使用多個處理器。多個處理器允許數(shù)據(jù)庫引擎使用并行查詢。有關(guān)詳細信息,請參閱

  • 重寫查詢。請注意下列事項:

    • 如果查詢使用游標(biāo),則確定是否可以使用效率更高的游標(biāo)類型(如快速只進游標(biāo))或單個查詢編寫游標(biāo)查詢。單個查詢的性能通常優(yōu)于游標(biāo)操作。因為一組游標(biāo)語句通常是一個外循環(huán)操作,在此操作中,一旦使用內(nèi)部語句便開始處理外循環(huán)中的每一行,所以可考慮使用 GROUP BY 或 CASE 語句,或者使用子查詢來替代。有關(guān)詳細信息,請參閱

    • 如果應(yīng)用程序使用循環(huán),可考慮將循環(huán)放入查詢內(nèi)。應(yīng)用程序經(jīng)常包含帶參數(shù)化查詢的循環(huán),該循環(huán)執(zhí)行許多次并要求運行應(yīng)用程序的計算機與 SQL Server 之間有網(wǎng)絡(luò)往返。可改用臨時表創(chuàng)建一個更復(fù)雜的單一查詢。只需要一個網(wǎng)絡(luò)往返,查詢優(yōu)化器就可以更好地優(yōu)化該單個查詢。有關(guān)詳細信息,請參閱

    • 不要在同一查詢中為一個表使用多個別名來模擬索引交集。這已沒有必要,因為 SQL Server 會自動考慮索引交集并可以在同一查詢中對同一個表使用多個索引。請參閱以下示例查詢:

      復(fù)制代碼
                                SELECT * FROM lineitem 
      
      WHERE partkey BETWEEN 17000 AND 17100 AND
      
          shipdate BETWEEN '1/1/1994' AND '1/31/1994'
                              
      SQL Server 可以為 partkey shipdate 列使用索引,然后在兩個子集之間執(zhí)行哈希匹配來獲取索引交集。

    • 查詢參數(shù)化用于允許重復(fù)使用緩存的查詢執(zhí)行計劃。如果一組查詢具有相同的查詢哈希和查詢計劃哈希,則可以通過創(chuàng)建一個參數(shù)化查詢來提高性能。如果調(diào)用具有參數(shù)的一個查詢,而不是調(diào)用具有文字值的多個查詢,則會允許重用緩存查詢執(zhí)行計劃。有關(guān)詳細信息,請參閱

      如果無法修改應(yīng)用程序,則可以使用帶有強制參數(shù)化的模板計劃指南來獲得類似結(jié)果。有關(guān)詳細信息,請參閱

    • 只在必要時使用查詢提示。如果查詢使用在早期版本的 SQL Server 上執(zhí)行的提示,則應(yīng)在不指定提示的情況下對其進行測試。提示會阻礙查詢優(yōu)化器選擇更好的執(zhí)行計劃。有關(guān)詳細信息,請參閱

  • 使用 query_plan_hash 可捕獲、存儲和比較一段時間內(nèi)的查詢的查詢執(zhí)行計劃。例如,更改系統(tǒng)配置之后,可以將任務(wù)關(guān)鍵查詢的查詢計劃哈希值與其原始查詢計劃哈希值進行比較。通過查詢計劃哈希值的不同可以了解系統(tǒng)配置更改是否會導(dǎo)致更新重要查詢的查詢執(zhí)行計劃。如果 sys.dm_exec_requests 中當(dāng)前長時間運行的查詢的查詢計劃哈希與其基準(zhǔn)查詢計劃哈希(通常認為該查詢具有良好的性能)不同,則也可以決定停止執(zhí)行該查詢。有關(guān)詳細信息,請參閱

  • 使用 query governor 配置選項。 query governor 配置選項可用于防止長時間執(zhí)行的查詢占用系統(tǒng)資源。默認情況下,該選項設(shè)置為允許執(zhí)行所有查詢,而不管它們需要多長時間。但是,您還可以設(shè)置查詢調(diào)控器來限制允許所有查詢執(zhí)行所有連接所用的最大秒數(shù),或者僅限制查詢執(zhí)行一個特定連接的時間。因為查詢調(diào)控器以估計的查詢開銷而不是實際的占用時間為基礎(chǔ),所以它沒有任何運行時開銷。它還會在長時間執(zhí)行的查詢開始之前將其停止,而不是將它們運行到某個預(yù)定義的限制時間。有關(guān)詳細信息,請參閱

  • 通過計劃緩存優(yōu)化查詢計劃的重新使用。數(shù)據(jù)庫引擎對查詢計劃進行緩存以備重新使用。如果查詢計劃不進行緩存,則永遠不能重新使用。然而,每次執(zhí)行未緩存的查詢計劃時,必須對其進行編譯,這就導(dǎo)致性能降低。下列 Transact-SQL SET 語句選項可阻止重新使用已緩存的查詢計劃。包含這些處于 ON 狀態(tài)的 SET 選項的 Transact-SQL 批處理無法與 SET 選項處于 OFF 狀態(tài)時所編譯的相同批處理共享其查詢計劃:

    SET ANSI_NULL_DFLT_OFF

    SET ANSI_NULL_DFLT_ON

    SET ANSI_NULLS

    SET ANSI_PADDING

    SET ANSI_WARNINGS

    SET ARITHABORT

    SET CONCAT_NULL_YIELDS_NULL

    SET DATEFIRST

    SET DATEFORMAT

    SET FORCEPLAN

    SET LANGUAGE

    SET NO_BROWSETABLE

    SET NUMERIC_ROUNDABORT

    SET QUOTED_IDENTIFIER

    SET TEXTSIZE

    ?

    此外,由于 SET ANSI_DEFAULTS 選項可用于更改 ANSI_NULLS、ANSI_NULL_DFLT_ON、ANSI_PADDING、ANSI_WARNINGS、CURSOR_CLOSE_ON_COMMIT、IMPLICIT_TRANSACTIONS 和 QUOTED_IDENTIFIER SET 選項,因此該選項會影響已緩存查詢計劃的重新使用。請注意,SET ANSI_DEFAULTS 可以更改的大部分 SET 選項都列為可能會影響查詢計劃重新使用的 SET 選項。

    可以使用下列方法更改其中某些 SET 選項:

    • 使用 sp_configure 存儲過程進行服務(wù)器范圍的更改。有關(guān)詳細信息,請參閱

    • 使用 ALTER DATABASE 語句的 SET 子句。有關(guān)詳細信息,請參閱

    • 更改 OLE DB 和 ODBC 連接設(shè)置。有關(guān)詳細信息,請參閱

注意:
只有在連接時建立 SET 選項并確保它們在連接期間不發(fā)生變化,才能避免 SET 選項出現(xiàn)重新編譯查詢計劃的情況。某些 SET 選項必須設(shè)置為特定值,才能使用索引視圖或計算列的索引。有關(guān)詳細信息,請參閱

查詢優(yōu)化建議


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人+亚洲欧洲 | 亚洲自拍激情 | 久久亚洲精品一区成人 | 国产综合婷婷 | 性久久久久 | 久久亚洲国产精品 | 色婷婷在线视频 | 欧美男女啪啪 | 在线观看免费亚洲 | 激情社区| 色综合图区 | 一本岛高清v不卡免费一三区 | 欧美激情一区二区 | 日韩 欧美 自拍 在线 视频 | 神马影院不卡不卡在线观看 | 亚洲精品久久婷婷爱久久婷婷 | 中文字幕不卡在线播放 | 欧美日韩性大片 | 四虎影视永久在线精品免费 | 欧美成人午夜视频在线观看 | 不卡一区 | 91亚洲精品 | 日本一级在线观看视频播放 | 精品国产一区二区三区在线观看 | 久久精品综合国产二区 | 狠狠干夜夜 | 色综合视频一区二区三区 | 欧美日韩一级黄色片 | 久久精品国产只有精品2020 | 国产精品98福利小视频 | 成人免费视频在线看 | 亚洲精品视频免费 | 成人亚洲国产 | 毛片a| 亚洲国产日韩欧美一区二区三区 | 亚洲另类视频 | 亚洲欧美一 | 国内精品久久久久久影院老狼 | 九九天天影视 | 亚洲精品日韩一区二区 | 6080一级毛片 |