互联网服务MySQL

mysql如何获取真实的执行计划,而不是explain那种假的?

mysql如何获取真实的执行计划,而不是explain那种假的?

参与1

0同行回答

“答”则兼济天下,请您为题主分忧!

ChatGPT 回答

在MySQL中,可以通过使用profiling功能来获取真实的执行计划,而不是使用EXPLAIN命令获取的估算执行计划。

具体步骤如下:

  1. 打开MySQL的profiling功能:在MySQL配置文件中添加如下语句:
[mysqld]
...
# 开启profiling功能
performance_schema=ON
  1. 在MySQL中执行需要获取执行计划的SQL语句。
  2. 使用如下语句查看SQL语句的执行计划:
SELECT * FROM performance_schema.events_statements_summary_by_digest WHERE digest_text LIKE '%your_sql_query%';

其中,your_sql_query是你要查询的SQL语句。

这个语句会返回一个结果集,其中包含了你查询的SQL语句的执行计划信息。可以通过查看这个结果集来获取真实的执行计划。

需要注意的是,profiling功能会对MySQL的性能产生一定的影响,因此在使用时需要谨慎。同时,profiling功能只能获取到已经执行过的SQL语句的执行计划,无法获取尚未执行的SQL语句的执行计划。

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-07-21
  • 关注会员:1 人
  • 问题浏览:1184
  • X社区推广