当前位置:首页 » 编程语言 » 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;