如何查看sql 执行sql语句

如题所述

SQL 语句摘要可以用在MySQL的各个方面,比如 性能字典里对语句的分析,查询重写插件规则改写等等。
接下来依次看下语句摘要在这两方面的使用。
1. 性能字典
mysql> call sys.ps_setup_enable_consumer('statements');
+---------------------+
| summary |
+---------------------+
| Enabled 4 consumers |
+---------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
开启后,执行几次之前的几条 SQL。
完后可以很方便的从 sys 库里分析这类语句的执行情况,包括执行次数,执行时间,扫描的记录数,锁定的时间,是否用到排序等等。

2. 查询重写插件
比如要阻止对表 p1 通过字段 r1 的删除动作,可以用查询重写插件在 MySQL 语句分析层直接转换,这时候就得用到摘要函数 statement_digest_text。
假设:表 p1 字段 id 值全部为正。
delete from p1 where id = 1000;

要改写为,
delete from p1 where id = -1;

利用函数 statement_digest_text 来定制这条 SQL 的重写规则。
mysql> INSERT INTO query_rewrite.rewrite_rules (pattern, replacement,pattern_database) -> VALUES( -> statement_digest_text('delete from p1 where id = 1000') , -> statement_digest_text('delete from p1 where id = -1'), -> 'ytt' -> );Query OK, 1 row affected (0.01 sec)
语句被查询重写后的效果:
mysql> delete from p1 where id = 20000;Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show warnings\G*************************** 1. row *************************** Level: Note Code: 1105Message: Query 'delete from p1 where id = 20000' rewritten to 'DELETE FROM `p1` WHERE `id` = - 20000' by a query rewrite plugin1 row in set (0.00 sec)mysql> select count(*) from p1;+----------+| count(*) |+----------+| 9000001 |+----------+1 row in set (1.59 sec)
总结
MySQL 8.0 新增的语句摘要函数可以很方便的分析 SQL 语句执行的各个方面,比以前分析类似的场景要简单的多。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-17
在sql server里按下CTRL+M,然后执行一个你需要分析的sql语句,在结果框边上会有一个Execultion plan,看这里面就行本回答被提问者采纳

如何查询最近执行的sql怎么查询执行
第一步:打开SQLyog,连接数据库,按【ctrl+T】新建一个查询窗口 第二步:在查询窗口中输入查询表格代码的语句:showcreatetable表格名称例如,想要查询的表格名称是reader输入代码showcreatetablereader,选中该代码,点击运行 运行后可以选择建表代码查看方式,为了方便观看,我们可以选择文本视图 sqlserver执行...

sqlserver查看当前运行哪些sql 语句
有二种方式来查看正在执行的SQL语句 使用SQL自带的SQL Server Profiler,以可视化界面的方式来查看。从开始=》所有程序=》Microsoft SQL Server 2008=》性能工具打开Profiler工具,也可以打开SQL Server Management Studio=》工具=》SQL Server Profiler。然后选择文件=》新建=》跟踪打开一个连接窗口,选择将要...

如何查询当前正在执行的sql语句
首先,你要以dba身份登陆数据库。第二,为某个用户开启sql跟踪。那个用户就是你要跟踪的、正在执行sql语句的那个用户。命令如下:execute dbms_system.set_sql_trace_in_session(sid,serial#,true)其中参数的意义是,sid-会话id,serial#-序列号,这两个参数可以从v$session中得到。第三,上面的命令...

在MS SQL Server中怎么查看正在执行的SQL
有二种方式来查看正在执行的SQL语句 使用SQL自带的SQL Server Profiler,以可视化界面的方式来查看。从开始=》所有程序=》Microsoft SQL Server 2008=》性能工具打开Profiler工具,也可以打开SQL Server Management Studio=》工具=》SQL Server Profiler。然后选择文件=》新建=》跟踪打开一个连接窗口,选择将要...

前端页面默认展示近三个月的数据如何查看sql执行情况?
要查看 SQL 执行情况,可以通过数据库的查询日志或者性能分析工具来实现。查询日志方式 可以通过开启数据库的查询日志来记录 SQL 执行情况。不同的数据库有不同的开启方式,以 MySQL 为例,可以通过在 my.cnf 或者 my.ini 中添加如下配置来开启查询日志:log-output = FILE slow-query-log = 1 slow...

什么是SQL执行计划
具体数据库查看执行计划的操作步骤如下:1、首先,打开一个的sql server的数据库管理界面当中。2、然后选中的要执行的sql语句。3、点击了的菜单中的查询的菜单。4、点击了查询菜单之后,弹出了下拉菜单选中为显示估计的执行计划的选项。5、然后点击执行计划。6、可以看到是相关的执行计划的相关的数据。

怎么查看一个存储过程的SQL语句
查看一个存储过程的SQL语句步骤如下:1、开启Microsoft SQL Server数据库管理工具,输入账号密码连接到数据库。2、如果数据库服务器上有多个数据库,选择我们要查看的数据库,展开其选项。3、 在数据库展开的菜单中,找到‘可编程性’菜单,并将其展开。4、在‘可编程性’菜单下面,找到‘存储过程’并...

Oracle如何查看SQL实际执行计划
1、 查看最近执行的SQL语句 select \/*recentsql*\/s.SQL_ID,s.CHILD_NUMBER,s.HASH_VALUE,s.ADDRESS,s.EXECUTIONS,s.SQL_TEXT from v$sql s where s.PARSING_USER_ID = (select u.user_id from all_users u where u.username = 'YH_TEST') and s.COMMAND_TYPE in (2 ,3, 6,7 ,...

怎么执行sql命令?
执行sql命令步骤如下:1、点击页面中的【SQL】。2、打开之后在右侧就会出现一个空白的区域。输入所需的SQL命令。3、SQL语句输入完整之后,在空白区域 ,点击右键选择执行。以上就是执行sql命令的步骤。

sql2000如何查看用户执行了哪些语句,更改了什么数据?用什么工具,具体操 ...
1、用windows身份验证登陆数据库,点击【连接】2、展开数据库服务器下面的【管理】【SQL Server日志】;3、双击【当前】可以打开【日志文件查看器】里面有所有的运行日志;4、点击任意一行,可以看见具体的信息,错误原因和时间;5、勾选相应的复选框,可以筛选查看相应的日志内容;6、点击【筛选】还可以...

相似回答