Mysql-优化查询

explain

作用:
查看一个SQL语句的执行计划:查看该SQL语句有没有使用上了索引,有没有做全表扫描等等。

使用:

mysql> use teaching;
Database changed
mysql> explain  select *  from  score;
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
|  1 | SIMPLE      | score | ALL  | NULL          | NULL | NULL    | NULL |   19 |       |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
1 row in set (0.02 sec)

expain出来的信息有10列,分别是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra
概要描述:
id:选择标识符
select_type:表示查询的类型。
table:输出结果集的表
partitions:匹配的分区
type:表示表的连接类型
possible_keys:表示查询时,可能使用的索引
key:表示实际使用的索引
key_len:索引字段的长度
ref:列与索引的比较
rows:扫描出的行数(估算的行数)
filtered:按表条件过滤的行百分比
Extra:执行情况的描述和说明

describe

使用方法和效果和explain几乎一样

posted @ 2022-05-21 21:32  kingwzun  阅读(27)  评论(0编辑  收藏  举报