索引实战
未使用索引的情况
使用索引
create index index_name ON table_name (column_list)
使用后再执行查询语句
属性的解释
id:选择标识符: 这是SELECT的查询***
select_type:表示查询的类型:SIMPLE代表是简单SELECT,不使用UNION或子查询等
table:输出结果集的表:ALL表示将遍历全表以找到匹配的行
partitions:匹配的分区
type:表示表的连接类型
possible_keys:表示查询时,可能使用的索引
key:表示实际使用的索引
key_len:索引字段的长度
ref:列与索引的比较
rows:扫描出的行数(估算的行数)
filtered:按表条件过滤的行百分比
Extra:执行情况的描述和说明
总结
1:explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看
2:索引就相当于一个目录,普通的select查询就是重头到尾的翻书,慢且浪费资源,索引能快速定位到目标,缺点是虽然索引大大提高了查询速度,同时却会降低更新表的速度