千家信息网

MYSQL中Profile的示例分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍MYSQL中Profile的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MYSQL--Profile分析在分析一条SQL语句的时候,发现在SQL语句的
千家信息网最后更新 2026年10月31日MYSQL中Profile的示例分析

这篇文章主要介绍MYSQL中Profile的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

MYSQL--Profile分析

在分析一条SQL语句的时候,发现在SQL语句的末尾或者最前面加空格,并不影响直接从QC里面去取结果。
参考手册里是这么说的:
查询必须是完全相同的(逐字节相同)才能够被认为是相同的。另外,同样的查询字符串由于其它原因可能认为是不同的。使用不同的、不同的协议版本或者不同 默认字符集的查询被认为是不同的查询并且分别进行缓存。
既然是要完全相同,那么如下两条SQL应该是不同的

select count(*) from t1 ;
select count(*) from t1 ;
但是在实际运行时,确的当作相同的SQL来执行的
> SHOW PROFILES;
+----------+------------+-----------------------------+
| Query_ID | Duration | Query |
+----------+------------+-----------------------------+
| 1 | 0.00006925 | select count(*) from t1 |
| 2 | 0.08126275 | insert into t1 values(6) |
| 3 | 0.00043675 | select count(*) from t1 |
| 4 | 0.00006850 | select count(*) from t1 |
| 5 | 0.00021075 | select count(*) from t1 |
| 6 | 0.00007150 | select count(*) from t1 |
| 7 | 0.00007300 | select count(*) from t1 |
| 8 | 0.00020975 | select count(*) from t1 |
+----------+------------+-----------------------------+
8 rows in set (0.00 sec) www.2cto.com
而且只是在前后加了空格的SQL语句,就直接从QC里面获取数据了,不再进行优化,执行等操作。
mysql> SHOW PROFILE FOR QUERY 7;
+--------------------------------+----------+
| Status | Duration |
+--------------------------------+----------+
| starting | 0.000022 |
| checking query cache for query | 0.000007 |
| checking privileges on cached | 0.000005 |
| sending cached result to clien | 0.000034 |
| logging slow query | 0.000003 |
| cleaning up | 0.000003 |
+--------------------------------+----------+
6 rows in set (0.00 sec)
在SQL的中间插入空格,才会当作不同的SQL来运行。

mysql> SHOW PROFILE FOR QUERY 8;
+--------------------------------+----------+
| Status | Duration |
+--------------------------------+----------+
| starting | 0.000023 | www.2cto.com
| checking query cache for query | 0.000049 |
| Opening tables | 0.000013 |
| System lock | 0.000005 |
| Table lock | 0.000037 |
| init | 0.000012 |
| optimizing | 0.000006 |
| executing | 0.000012 |
| end | 0.000004 |
| query end | 0.000003 |
| freeing items | 0.000036 |
| storing result in query cache | 0.000006 |
| logging slow query | 0.000003 |
| cleaning up | 0.000002 |
+--------------------------------+----------+
14 rows in set (0.00 sec)

从上面可以得到,QC在存储SQL语句的时候,是去掉了头尾的空格的。而且在查询时,也自动去掉首尾的空格,再到QC里面去比较的。

以上是"MYSQL中Profile的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

不同 相同 空格 查询 分析 语句 示例 内容 字符 时候 篇文章 参考 价值 兴趣 原因 只是 头尾 字符串 字符集 字节 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 广州为想互联网科技有限公司 新华互联网科技 高科技互联网 深圳天众互联网科技公司 天下捷融互联网科技 卫星互联网科技股票 现代科技和互联网有关系吗 成都铂石互联网科技做什么的 深圳市优智互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 明优互联网科技有限公司 中和天地互联网科技有限公司 伍佰万互联网科技怎么赚钱 宇信科技在杭州互联网排第几 昆明中奇联合互联网科技 萌小萌互联网科技河南有限公司 唯美互联网科技 北京品多多互联网科技有限公司 银川新华互联网科技学校招聘 北京路客互联网科技有限公司 科技互联网企业 互联网科技公司怎么样 以房互联网科技 友谊互联网络科技 哈尔滨新华互联网科技学院 中天科技中国工业互联网 四川互联网展示科技馆设计 九思连强互联网电子科技有限公司 广西泛欧互联网科技有限公司
0