資料庫資源消耗高時兩條簡單管用、快速找出可能問題原因的SQL語句,資源消耗sql

來源:互聯網
上載者:User

資料庫資源消耗高時兩條簡單管用、快速找出可能問題原因的SQL語句,資源消耗sql

1、  查看正在執行的SQL語句

(1)SQL語句:

selectdistinct s.sid,s.sql_id,s.event,s.program,s.MACHINE,q.sql_textfrom v$session s,v$sql q

where s.sql_id=q.sql_idand s.status='ACTIVE'orderby sql_text;

(2)用途說明:

    當資料庫伺服器負載高時,資源絕大部分的可能是被正在啟動並執行SQL所消耗,查詢到正在執行的SQL語句,是開啟高消耗原因盒子的第一步。該語句重點關注的是正在執行的SQL語句、等待事件、啟動器、發起主機及SQL代碼,並按SQL文本排序,在資料庫伺服器負載高時,可以用該語句,查到當前資源消耗高時系統正在運行什麼語句,通過按文本的排序及顯示SQL_ID,等待事件,可以從一定程式上判斷出引發問題的SQL語句

 

2、  查看執行並發最多的SQL語句

(1)SQL語句:

select sql_id,count(*)from v$sessiongroupby sql_id order by 2desc

(2)用途說明:

資源消耗高時必定有一定數量的SQL語句同時在運行所致,只是一條語句串列執行引發嚴重性能問題的可能性,在低配置系統上有可能發生,但是在高設定管理員上卻不會引發較大影響,但是,同一條有問題的SQL語句高並發執行,再高配置的機器也會被拖垮,持續高並發,也能說明該SQL語句可能運行速度慢,資源消耗高,所以,通過查看正在啟動並執行最多的是哪一條語句,可以客觀上判斷引發問題原因的SQL語句。

 

 

本文作者:黎俊傑(網名:踩點),從事”系統架構、作業系統、存放裝置、資料庫、中介軟體、應用程式“六個層面系統性的效能最佳化工作

歡迎加入 系統效能最佳化專業群,共同探討效能最佳化技術。群號:258187244

相關文章

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.