當前位置:首頁 » 編程語言 » hawq查看已經執行的sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

hawq查看已經執行的sql

發布時間: 2022-07-11 02:34:38

㈠ 怎麼 查看資料庫最近曾經執行過的sql語句

oracle 查詢最近執行過的 SQL語句
select sql_text,last_load_time from v$sql order by last_load_time desc;

SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'select%' ORDER BY last_load_time DESC;

SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'update%' ORDER BY last_load_time DESC;

SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and last_load_time like' 14-06-09%' ORDER BY last_load_time DESC;

---正在執行的

select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
from v$session a, v$sqlarea b
where a.sql_address = b.address
---執行過的
select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT
from v$sqlarea b
where b.FIRST_LOAD_TIME between '2009-10-15/09:24:47' and
'2009-10-15/09:24:47' order by b.FIRST_LOAD_TIME
(此方法好處可以查看某一時間段執行過的sql,並且 SQL_FULLTEXT 包含了完整的 sql 語句)

其他
select OSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXT
from V$SESSION A LEFT JOIN V$SQL B ON A.SQL_ADDRESS=B.ADDRESS AND A.SQL_HASH_VALUE=B.HASH_VALUE order by b.cpu_time desc

select address, sql_text, piece
from v$session, v$sqltext
where address = sql_address
-- and machine = < you machine name >
order by address, piece

查找前十條性能差的sql.

SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea
order BY disk_reads DESC )where ROWNUM<10 ;

查看佔io較大的正在運行的session

SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,
se.terminal,se.program,se.MODULE,、se.sql_address,st.event,st.
p1text,si.physical_reads,
si.block_changes FROM v$session se,v$session_wait st,
v$sess_io si,v$process pr WHERE st.sid=se.sid AND st.
sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>6 AND st.
wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC

㈡ server 怎麼查看正在執行的sql

查看正在執行的SQL語句

  • 使用SQL自帶的SQL Server Profiler,以可視化界面的方式來查看。

    從開始=》所有程序=》Microsoft SQL Server 2008=》性能工具打開Profiler工具,也可以打開SQL Server Management Studio=》工具=》SQL Server Profiler。

    然後選擇文件=》新建=》跟蹤打開一個連接窗口,選擇將要跟蹤的伺服器實例然後連接,並打開「跟蹤屬性」對話框,點運行即可看到正在執行的SQL語句。

㈢ 如何查看PostgreSQL正在執行的SQL

1、首先登錄sql server managment。

㈣ 如何查詢當前正在執行的sql語句

oracle中
v$session 里的sql_address, sql_hash_value 可以連到v$sqlarea 的address, hash_value.
這樣就可以看到所有當前的session和它們在執行什麼, 已經所執行sql的狀況。

㈤ 如何查看sql 執行sql語句

在sql server里按下CTRL+M,然後執行一個你需要分析的sql語句,在結果框邊上會有一個Execultion plan,看這裡面就行

㈥ SqlServer2008 如何通過語句查詢已經執行過的語句呢

方法一:可以通過執行該命令來查看錯誤日誌信息:exec xp_readerrorlog 方法二:在SQL SERVER Management Studio中連接該sql server實例,object Explorer中查找Management->SQL Server logs->右鍵選view-》選擇你要看的日誌信息(sql server log or sql server and Windows log)方法三:去安裝路徑下去找你的log文件,我的默認實例路徑如下driver:\SQL Server 2008 R2\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG

㈦ 怎樣查看自己運行的sql語句的情況

SPID SID SERIAL# MACHINE9497 49 3406 yz2、利用10046事件開始跟蹤SQL>execute sys.dbms_system.set_ev(49, 3406,10046,1,''); PL/SQL procere successfully completed.3、這時候你可以運行應用程序,對於web 應用你就可以打開你認為性能比較差頁面。4、如果你要查看這段時間執行了哪些sql語句,可以執行下面的語句結束跟蹤SQL>execute sys.dbms_system.set_ev(49,3406,10046,0,''); PL/SQL procere successfully completed.5、SQL trace 工具會收集這個過程中執行的SQL的性能狀態數據,記錄到一個跟蹤文件中.這個跟蹤文件提供了許多有用的信息,例如解析次數.執行次數,CPU使用時間等。6、這時候你可以通過下面的語句獲得產生的跟蹤文件所在的目錄SQL> select value from v$parameter where name = 'user_mp_dest';VALUE--------------------------------------------------------------------------------/opt/oracle/admin/ocn/ump7、在/opt/oracle/admin/ocn/ump下找到yzoracle_ora_9497.trc。9497是你當前應用的spid。8、注意yzoracle_ora_9497.trc是不可讀的,我們需要執行oracle的tkprof命令,將yzoracle_ora_9497.trc轉化為我們可讀的文本文件。

㈧ 如何通過sql日誌,查看以前執行過的sql語句

如何通過sql日誌,查看以前執行過的sql語句
使用方法:

打開Log Explorer -> Attach Log File -> 選擇SQL Server伺服器和登陸方式 -> Connect ->
在Database Name中選擇資料庫 -> Attach-> 左面對話框中Browse-> View Log-> 就可以看到log記錄了

想恢復的話: 右鍵Log記錄 Undo Transation-> 選擇保存文件名和路徑-> 然後打開該文件到查詢分析器里執行
T-sql代碼就可以了

㈨ 如何查詢postgresql 執行過的sql語句

SELECT
procpid,
start,
now() - start AS lap,
current_query
FROM
(SELECT
backendid,
pg_stat_get_backend_pid(S.backendid) AS procpid,
pg_stat_get_backend_activity_start(S.backendid) AS start,
pg_stat_get_backend_activity(S.backendid) AS current_query
FROM
(SELECT pg_stat_get_backend_idset() AS backendid) AS S
) AS S
WHERE
current_query <> '<IDLE>'
ORDER BY
lap DESC;

procpid:進程id
start:進程開始時間
lap:經過時間
current_query:執行中的sql
怎樣停止正在執行的sql
SELECT pg_cancel_backend(進程id);
或者用系統函數
kill -9 進程id;