标签:索引 type mysql const 扫描 .com sql语句 key值 提高
参照:https://zhidao.baidu.com/question/1435189115200686659.html
因数据库的内容是写入到磁盘中,因此在进行数据读取时如果没有索引会进行全表扫描获取数据判断过滤。
如果有索引,索引会单独占据一部分磁盘,查找时会先扫描索引,从索引中获取索引数据和整行数据在磁盘的位置,
从而大大提高了查找效率。
1. 在数据量小时,无多大意义。
2. 数据量大时,效率可达到成千上万倍。
创建索引注意点:
1.索引分为一般索引和唯一索引。索引列不可为Null,否则会使得索引失效。
2. 当数据量大时,对于排序字段也应该建立索引。
3. 复合索引的左前缀,越是靠前的越会被优先筛选,形成正式索引为:(A,B,C) -> (A,B,C) (A,B) (A)
查看写的sql语句是否可优化,可使用
explain + 查询语句
其中type列的值从好到坏
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
possible_keys 可给出可能的key值。
rows:显示MySQL认为它执行查询时必须检查的行数。
ref:显示使用哪个列或常数与key一起从表中选择行。
标签:索引 type mysql const 扫描 .com sql语句 key值 提高
原文地址:https://www.cnblogs.com/DennyZhao/p/9923124.html