<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      有關查詢和執行計劃的DMV

      查看被緩存的查詢計劃

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT TOP 20
          st.text AS [SQL]
          , cp.cacheobjtype
          , cp.objtype
          , COALESCE(DB_NAME(st.dbid),
              DB_NAME(CAST(pa.value AS INT))+'*',
              'Resource') AS [DatabaseName]
          , cp.usecounts AS [Plan usage]
          , qp.query_plan
      FROM sys.dm_exec_cached_plans cp                      
      CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
      CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) qp
      OUTER APPLY sys.dm_exec_plan_attributes(cp.plan_handle) pa
      WHERE pa.attribute = 'dbid'
        AND st.text LIKE '%這里是查詢語句包含的內容%'  

       

      結果是:

      1

       

      可以根據查詢字段來根據關鍵字查看緩沖的查詢計劃。

       

      查看某一查詢是如何使用查詢計劃的

       

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT TOP 20
        SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,      
        ((CASE WHEN qs.statement_end_offset = -1
          THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
            ELSE qs.statement_end_offset
          END - qs.statement_start_offset)/2) + 1) AS [Individual Query]
        , qt.text AS [Parent Query]
        , DB_NAME(qt.dbid) AS DatabaseName
        , qp.query_plan
      FROM sys.dm_exec_query_stats qs
      CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
      CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
      WHERE SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,
        ((CASE WHEN qs.statement_end_offset = -1
          THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
          ELSE qs.statement_end_offset
          END - qs.statement_start_offset)/2) + 1)
      LIKE '%指定查詢包含的字段%'  

       

      結果是:

      2

       

      查看數據庫中跑的最慢的前20個查詢以及它們的執行計劃

       

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT TOP 20
        CAST(qs.total_elapsed_time / 1000000.0 AS DECIMAL(28, 2))
                                           AS [Total Duration (s)]
        , CAST(qs.total_worker_time * 100.0 / qs.total_elapsed_time
                                     AS DECIMAL(28, 2)) AS [% CPU]
        , CAST((qs.total_elapsed_time - qs.total_worker_time)* 100.0 /
              qs.total_elapsed_time AS DECIMAL(28, 2)) AS [% Waiting]
        , qs.execution_count
        , CAST(qs.total_elapsed_time / 1000000.0 / qs.execution_count
                      AS DECIMAL(28, 2)) AS [Average Duration (s)]
        , SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,     
          ((CASE WHEN qs.statement_end_offset = -1
            THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
            ELSE qs.statement_end_offset
            END - qs.statement_start_offset)/2) + 1) AS [Individual Query
        , qt.text AS [Parent Query]
        , DB_NAME(qt.dbid) AS DatabaseName
        , qp.query_plan
      FROM sys.dm_exec_query_stats qs
      CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
      CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
      WHERE qs.total_elapsed_time > 0
      ORDER BY qs.total_elapsed_time DESC                    

      3

       

      查看數據庫中哪個查詢最耗費資源有助于你解決問題

       

      被阻塞時間最長的前20個查詢以及它們的執行計劃

       

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT TOP 20
        CAST((qs.total_elapsed_time - qs.total_worker_time) /     
              1000000.0 AS DECIMAL(28,2)) AS [Total time blocked (s)]
        , CAST(qs.total_worker_time * 100.0 / qs.total_elapsed_time
              AS DECIMAL(28,2)) AS [% CPU]
        , CAST((qs.total_elapsed_time - qs.total_worker_time)* 100.0 /
              qs.total_elapsed_time AS DECIMAL(28, 2)) AS [% Waiting]
        , qs.execution_count
        , CAST((qs.total_elapsed_time  - qs.total_worker_time) / 1000000.0
          / qs.execution_count AS DECIMAL(28, 2)) AS [Blocking average (s)]
        , SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,    
        ((CASE WHEN qs.statement_end_offset = -1
          THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
          ELSE qs.statement_end_offset
          END - qs.statement_start_offset)/2) + 1) AS [Individual Query]
        , qt.text AS [Parent Query]
        , DB_NAME(qt.dbid) AS DatabaseName
        , qp.query_plan
      FROM sys.dm_exec_query_stats qs
      CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
      CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
      WHERE qs.total_elapsed_time > 0
      ORDER BY [Total time blocked (s)] DESC                      

      結果如圖:

      4

       

      找出這類查詢也是數據庫調優的必須品

       

      最耗費CPU的前20個查詢以及它們的執行計劃

       

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT TOP 20
        CAST((qs.total_worker_time) / 1000000.0 AS DECIMAL(28,2))
                                                 AS [Total CPU time (s)]
        , CAST(qs.total_worker_time * 100.0 / qs.total_elapsed_time
                                            AS DECIMAL(28,2)) AS [% CPU]
        , CAST((qs.total_elapsed_time - qs.total_worker_time)* 100.0 /
                 qs.total_elapsed_time AS DECIMAL(28, 2)) AS [% Waiting]
                   , qs.execution_count
        , CAST((qs.total_worker_time) / 1000000.0
          / qs.execution_count AS DECIMAL(28, 2)) AS [CPU time average (s)]
        , SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,     
          ((CASE WHEN qs.statement_end_offset = -1
            THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
            ELSE qs.statement_end_offset
            END - qs.statement_start_offset)/2) + 1) AS [Individual Query]
        , qt.text AS [Parent Query]
        , DB_NAME(qt.dbid) AS DatabaseName
        , qp.query_plan
      FROM sys.dm_exec_query_stats qs
      CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
      CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
      WHERE qs.total_elapsed_time > 0
      ORDER BY [Total CPU time (s)] DESC         

       

      原理同上,就不上圖了

       

      最占IO的前20個查詢以及它們的執行計劃

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT TOP 20
        [Total IO] = (qs.total_logical_reads + qs.total_logical_writes)
        , [Average IO] = (qs.total_logical_reads + qs.total_logical_writes) /
                                                  qs.execution_count
        , qs.execution_count
        , SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,     
        ((CASE WHEN qs.statement_end_offset = -1
          THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
          ELSE qs.statement_end_offset
          END - qs.statement_start_offset)/2) + 1) AS [Individual Query]
        , qt.text AS [Parent Query]
        , DB_NAME(qt.dbid) AS DatabaseName
        , qp.query_plan
      FROM sys.dm_exec_query_stats qs
      CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
      CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
      ORDER BY [Total IO] DESC                                  

      結果如圖:

      5

       

      能幫助找出占IO的查詢

       

      查找被執行次數最多的查詢以及它們的執行計劃

       

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT TOP 20
          qs.execution_count
          , SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1,  
          ((CASE WHEN qs.statement_end_offset = -1
            THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
            ELSE qs.statement_end_offset
            END - qs.statement_start_offset)/2) + 1) AS [Individual Query]
          , qt.text AS [Parent Query]
          , DB_NAME(qt.dbid) AS DatabaseName
          , qp.query_plan
      FROM sys.dm_exec_query_stats qs
      CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
      CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
      ORDER BY qs.execution_count DESC;    

       

      結果如圖:

      6

       

      可以針對用的最多的查詢語句做特定優化。

       

      特定語句的最后運行時間

       

      SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
      SELECT DISTINCT TOP 20
          qs.last_execution_time
          , qt.text AS [Parent Query]
          , DB_NAME(qt.dbid) AS DatabaseName
      FROM sys.dm_exec_query_stats qs                      
      CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
      WHERE qt.text LIKE '%特定語句的部分%'
      ORDER BY qs.last_execution_time DESC            

       

      結果如圖:

      7

      posted @ 2012-05-17 13:02  CareySon  閱讀(2709)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 亚洲伊人久久综合影院| 日本欧美一区二区三区在线播放 | 国产精品伦人视频免费看| 色噜噜在线视频免费观看| 国产九九视频一区二区三区| 狠狠五月深爱婷婷网| 中文字幕有码高清日韩| 强奷白丝美女在线观看| 久久精品国产再热青青青| 日日躁夜夜躁狠狠久久av| 亚洲综合色婷婷中文字幕| 亚洲国产午夜理论片不卡| gogogo在线播放中国| 国产亚洲一二三区精品| 在线观看免费网页欧美成| 国产无人区码一区二区| 亚洲欧美电影在线一区二区| 久久久av男人的天堂| 国产精品视频白浆免费视频| 国产最新进精品视频| 鄯善县| 秋霞人妻无码中文字幕| 少妇人妻偷人精品免费| 国产69精品久久久久777| 免费观看成人毛片a片| 国产黑色丝袜在线播放| 亚洲色欲在线播放一区二区三区| 久久综合伊人| 中文字幕无线码免费人妻| 在厨房拨开内裤进入在线视频| av无码久久久久不卡网站蜜桃| 国产精品成人午夜久久| 国产日产亚洲系列最新| 亚洲精品午夜精品| 人妻系列无码专区69影院| 宜丰县| 国产精品白浆免费视频| 91区国产福利在线观看午夜| 国产一二三五区不在卡| 国产色一区二区三区四区| 久久综合国产精品一区二区|