在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

MySQL explain执行计划详解

大哥哪位知道,MySQL explain执行计划详解
最新回答
北橙旧梦

2025-03-22 13:18:16

MySQL中的explain关键字是优化SQL性能的强大工具,它模拟了优化器的行为,帮助我们识别潜在的瓶颈。使用时,只需在SQL语句前加上explain即可。这个工具返回的结果包含了12个字段,每个字段都提供了关于查询执行的重要信息:



  • id:查询序列号,表示执行顺序。


  • select_type:查询类型,有6种可能的值。


  • type:查询使用的数据类型,如全表扫描或索引扫描。


  • table:涉及的表名。


  • possible_keys:可能使用的索引。


  • key:实际使用的索引,无索引时为NULL。


  • key_len:索引长度,理想情况下越短越好。


  • ref:索引列的使用方式,包括列或常量查找。


  • rows:估计的行数,用于查找。


  • partitions:涉及的分区信息。


  • filtered:查询结果占表的比例。


  • Extra:包含额外的执行信息。



然而,有时优化器可能出于成本考虑不使用索引,这时可以借助trace工具来查看执行成本。例如,一个未使用索引的查询计划:


通过trace工具,我们可以深入了解MySQL的决策过程,确保SQL执行符合预期性能。