<noscript id="eassg"><table id="eassg"></table></noscript>
  • <strike id="eassg"><s id="eassg"></s></strike>
  • <ul id="eassg"></ul>
    注冊|登錄

    聯(lián)系電話:024-31891684  13390130939
    沈陽軟件公司--沈陽軟件定制

    沈陽軟件開發(fā)_沈陽軟件公司_沈陽軟件定制/軟件/最新技術(shù)

    Latest technology最新技術(shù)

    SQL性能調(diào)優(yōu)

    瀏覽量:2873

    CRM定制 辦公OA 軟件開發(fā)請找易勢科技

     

    SQL Server在運(yùn)行一段時(shí)間,隨著數(shù)據(jù)的積累,SQL運(yùn)行效率會(huì)逐步降低,為了使用業(yè)務(wù)系統(tǒng)正常動(dòng)作,經(jīng)常IT部門需要花高價(jià)請SQL調(diào)優(yōu)專家來解決。其實(shí)調(diào)優(yōu)也不復(fù)雜,主要是找到影響效率的SQL,然后對癥下藥,這里給出幾個(gè)技巧,相信對大家非常實(shí)用。
    1、檢查SQL阻塞原因 select blocking_session_id, wait_duration_ms, session_id

          from sys.dm_os_waiting_tasks
          where blocking_session_id is not null
    2、檢查前10個(gè)等待資源的SQL語句 select top 10 *
        from sys.dm_os_wait_stats
        order by wait_time_ms desc
    3、查詢顯示 CPU 平均占用率最高的前50個(gè)SQL 語句 SELECT TOP 50 total_worker_time/execution_count AS [Avg CPU Time],
        (SELECT SUBSTRING(text,statement_start_offset/2,(CASE WHEN      statement_end_offset = -1 then LEN(CONVERT(nvarchar(max), text)) * 2 ELSE statement_end_offset end -statement_start_offset)/2) FROM sys.dm_exec_sql_text(sql_handle)) AS query_text, *
        FROM sys.dm_exec_query_stats
        ORDER BY [Avg CPU Time] DESC
    4、CPU 瓶頸通常由以下原因引起:查詢計(jì)劃并非最優(yōu)、配置不當(dāng)、設(shè)計(jì)因素不良或硬件資源不足。下面的常用查詢可幫助您確定導(dǎo)致CPU瓶頸的原因。下面的查詢使您能夠深入了解當(dāng)前緩存的哪些批處理或過程占用了大部分CPU資源。軟件開發(fā)易勢科技 SELECT TOP 50
          SUM(qs.total_worker_time) AS total_cpu_time,
          SUM(qs.execution_count) AS total_execution_count,
          COUNT(*) AS  number_of_statements,
          qs.sql_handle
      FROM sys.dm_exec_query_stats AS qs
      GROUP BY qs.sql_handle
      ORDER BY SUM(qs.total_worker_time) DESC
    5、下面的查詢顯示緩存計(jì)劃所占用的CPU總使用率(帶 SQL 文本)。 SELECT
          total_cpu_time,
          total_execution_count,
          number_of_statements,
          s2.text
        ROM
            (SELECT TOP 50
                SUM(qs.total_worker_time) AS total_cpu_time,
                SUM(qs.execution_count) AS total_execution_count,
                COUNT(*) AS  number_of_statements,
                qs.sql_handle
        FROM
                sys.dm_exec_query_stats AS qs
        GROUP BY qs.sql_handle
        ORDER BY SUM(qs.total_worker_time) DESC) AS stats
        CROSS APPLY sys.dm_exec_sql_text(stats.sql_handle) AS s2
    6、下面的示例查詢顯示已重新編譯的前 25 個(gè)存儲(chǔ)過程。plan_generation_num 指示該查詢已重新編譯的次數(shù)。 select top 25
          sql_text.text,
          sql_handle,
          plan_generation_num,
          execution_count,
          dbid,
          objectid
      from sys.dm_exec_query_stats a
          cross apply sys.dm_exec_sql_text(sql_handle) as sql_text
    where plan_generation_num > 1
    order by plan_generation_num desc
    7、效率較低的查詢計(jì)劃可能增大 CPU 占用率。下面的查詢顯示哪個(gè)查詢占用了最多的 CPU 累計(jì)使用率。 SELECT
        highest_cpu_queries.plan_handle, highest_cpu_queries.total_worker_time, q.dbid, q.objectid, q.number, q.encrypted, q.[text]
    from
        (select top 50 qs.plan_handle,  qs.total_worker_time from sys.dm_exec_query_stats qs  order by qs.total_worker_time desc) as highest_cpu_queries
        cross apply sys.dm_exec_sql_text(plan_handle) as q
        order by highest_cpu_queries.total_worker_time desc
    8、下面的查詢顯示一些可能占用大量 CPU 使用率的運(yùn)算符(例如 ‘%Hash Match%’、‘%Sort%’)以找出可疑對象。 select *
    from
          sys.dm_exec_cached_plans
          cross apply sys.dm_exec_query_plan(plan_handle)
    where
          cast(query_plan as nvarchar(max)) like '%Sort%'
          or cast(query_plan as nvarchar(max)) like '%Hash Match%'
    復(fù)制代碼9、如果已檢測到效率低下并導(dǎo)致 CPU 占用率較高的查詢計(jì)劃,請對該查詢中涉及的表運(yùn)行 UPDATE STATISTICS 以查看該問題是否仍然存在。然后,收集相關(guān)數(shù)據(jù)并將此問題報(bào)告給 PerformancePoint Planning 支持人員。如果您的系統(tǒng)存在過多的編譯和重新編譯,可能會(huì)導(dǎo)致系統(tǒng)出現(xiàn)與 CPU 相關(guān)的性能問題。您可以運(yùn)行下面的 DMV 查詢來找出過多的編譯/重新編譯。 select * from sys.dm_exec_query_optimizer_info
    where counter = 'optimizations' or counter = 'elapsed time'

    沈陽團(tuán)購網(wǎng)|營口網(wǎng)站制作|沈陽軟件公司|軟件定制|網(wǎng)站建設(shè)|加盟易勢|提交問題

    国产精品成人国产乱一区| 国产精品免费_区二区三区观看 | 中文无码日韩欧免费视频| 亚洲精品无码一区二区| 亚洲精品综合久久中文字幕| 久久精品国产99国产| 久久国产精品视频| 无码人妻精品一区二区蜜桃AV| 手机看片日韩福利| 国产精品久久久久久网站| 亚洲日韩精品无码专区加勒比| 久久亚洲精品无码VA大香大香| 久久青草精品一区二区三区| 思思久久精品在热线热| 黑人无码精品又粗又大又长 | 国内午夜国产精品小视频| 国产精品99久久久久久www| 视频精品一区二区三区| 日韩精品专区AV无码| 日韩精品免费一线在线观看| 国产精品美女一级在线观看| 国语自产偷拍精品视频偷| 日韩精品专区在线影院重磅| 99久久国产热无码精品免费| 亚洲av专区无码观看精品天堂| 精品无码一区在线观看| 99re66热这里只有精品17| 999国产精品999久久久久久| 久久久一本精品99久久精品66| 无码国产精品一区二区免费模式| 国产精品免费无遮挡无码永久视频| 亚洲无线观看国产精品| 国语自产拍精品香蕉在线播放| 国产人妖乱国产精品人妖| 精品乱人伦一区二区三区| 久久99精品国产| 亚洲AV无码成人精品区蜜桃| 久久久久女人精品毛片九一| 日韩欧精品无码视频无删节| 久久99精品久久久久久动态图| 91精品久久久久久久久网影视|