SQL语句执行方案
在互联网项目中,必然少不了数据库的使用,随着服务器QPS的上升,数据库的性能逐渐成为产品发展的瓶颈,对于快速响应用户的操作请求,掌控SQL语句的执行方案,对于请求的快速响应、查询的性能提升有着举足轻重的作用。
互联网项目中,大部分情况下使用MySQL数据库,查看查询优化器如何执行查询的主要方法是使用 EXPLAIN 命令。
EXPLAIN简介
若要使用EXPLAIN,只需要在查询中的SELECT关键字之前添加 EXPLAIN 即可。MySQL会在查询中设置一个标记,在执行查询时,此标记返回执行计划的每一步信息。如下图所示。
从此简单示例中,可以看到 EXPLAIN 的输出列表,主要包含以下字段:
- id - 查询编号,一般简单SELECT语句,编号为1,如有子查询时,则为顺序编号。
- select_type - 显示SELECT是简单还是复杂。
- table - 查询的数据表名或者表别名。
- partions - 使用EXPLAIN PARTITIONS时出现,查询使用的分区
- type - 查询关联类型