sql server中如何查看執行效率不高的語句

來源:互聯網
上載者:User

標籤:ber   tar   cal   exec   work   哪些   off   sub   substr   

sql server中,如果想知道有哪些語句是執行效率不高的,應該如何查看呢?下面就將為您介紹sql server中如何查看執行效率不高的語句,供您參考。

  在測量功能時,先以下命令清除sql server的緩衝  dbcc freeProcCache  在點擊某個按鈕,執行完後,再執行下面語句,就可以知道系統運行什麼Sql和多少次了,其主要慢語句是那些了;  SELECT creation_time  N ‘語句編譯時間‘          ,last_execution_time  N ‘上次執行時間‘          ,total_physical_reads N ‘物理讀取總次數‘          ,total_logical_reads/execution_count N ‘每次邏輯讀次數‘          ,total_logical_reads  N ‘邏輯讀取總次數‘          ,total_logical_writes N ‘邏輯寫入總次數‘          ,execution_count  N ‘執行次數‘          ,total_worker_time/1000 N ‘所用的CPU總時間ms‘          ,total_elapsed_time/1000  N ‘總花費時間ms‘          ,(total_elapsed_time / execution_count)/1000  N ‘平均時間ms‘          ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,           ((CASE statement_end_offset            WHEN -1 THEN DATALENGTH(st.text)            ELSE qs.statement_end_offset END              - qs.statement_start_offset)/2) + 1) N ‘執行語句‘ FROM sys.dm_exec_query_stats AS qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st where  SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,           ((CASE statement_end_offset            WHEN -1 THEN DATALENGTH(st.text)            ELSE qs.statement_end_offset END              - qs.statement_start_offset)/2) + 1) not like  ‘%fetch%‘ ORDER BY  total_elapsed_time / execution_count DESC;

sql server中如何查看執行效率不高的語句

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.