mysql语句的执行计划_使用MySQLprofiles来查看sql语句执行计划

要使用该功能,mysql的版本必须在5.0.37版本以上。否则只能使用explain 的方式来检查。 profiling 功能可以了解到cpu io 等更详细

要使用该功能,,mysql的版本必须在5.0.37版本以上。否则只能使用explain 的方式来检查。

profiling 功能可以了解到cpu io 等更详细的信息。

show profile 的格式如下:

SHOW PROFILE [type [, type] ... ]

[FOR QUERY n]

[LIMIT row_count [OFFSET offset]]

type:

ALL

| BLOCK IO

| CONTEXT SWITCHES

| CPU

| IPC

| MEMORY

| PAGE FAULTS

| SOURCE

| SWAPS

默认方式下该功能是关闭的:

mysql>select @@profiling;

+-------------+

| @@profiling |

+-------------+

| 0 |

+-------------+

1 row in set (0.00 sec)

打开功能

mysql>set profiling=1;

+-------------+

| @@profiling |

+-------------+

| 1 |

+-------------+

1 row in set (0.00 sec)

输入需要执行的sql 语句:

mysql>select count(*) from sySUSEr;

mysql>select count(*) from sysuser;

mysql> show profiles\G;

*************************** 1. row ***************************

Query_ID: 1

Duration: 0.00007550

Query: select count(*) from sysuser

1 row in set (0.00 sec)

通过指定的Query_ID 来查询指定的sql语句的执行信息:

mysql> show profile for query 1;

+--------------------------------+----------+

| Status | Duration |

+--------------------------------+----------+

| starting | 0.000028 |

| checking query cache for query | 0.000008 |

| checking privileges on cached | 0.000009 |

| sending cached result to clien | 0.000023 |

| logging slow query | 0.000004 |

| cleaning up | 0.000003 |

+--------------------------------+----------+

6 rows in set (0.00 sec)

mysql> show profile cpu,block io for query 1;

+--------------------------------+----------+----------+------------+--------------+---------------+

| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |

+--------------------------------+----------+----------+------------+--------------+---------------+

| starting | 0.000028 | NULL | NULL | NULL | NULL |

| checking query cache for query | 0.000008 | NULL | NULL | NULL | NULL |

| checking privileges on cached | 0.000009 | NULL | NULL | NULL | NULL |

| sending cached result to clien | 0.000023 | NULL | NULL | NULL | NULL |

| logging slow query | 0.000004 | NULL | NULL | NULL | NULL |

| cleaning up | 0.000003 | NULL | NULL | NULL | NULL |

+--------------------------------+----------+----------+------------+--------------+---------------+

6 rows in set (0.00 sec)

如果不带for 参数则指列出最后一条语句的profile 信息:

mysql> show profile cpu,block io for query 1;

+--------------------------------+----------+----------+------------+--------------+---------------+

| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |

+--------------------------------+----------+----------+------------+--------------+---------------+

| starting | 0.000028 | NULL | NULL | NULL | NULL |

| checking query cache for query | 0.000008 | NULL | NULL | NULL | NULL |

| checking privileges on cached | 0.000009 | NULL | NULL | NULL | NULL |

| sending cached result to clien | 0.000023 | NULL | NULL | NULL | NULL |

| logging slow query | 0.000004 | NULL | NULL | NULL | NULL |

| cleaning up | 0.000003 | NULL | NULL | NULL | NULL |

+--------------------------------+----------+----------+------------+--------------+---------------+

6 rows in set (0.00 sec)

关闭参数:

mysql> set profiling=0

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| profiling | OFF |

+---------------+-------+

1 row in set (0.00 sec)

logo.gif

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值