标签:add 条件 normal 详解 开始 单列 red 条件过滤 字段
mysql-索引
21.6.12【索引的分类】
单列索引:索引加在一个列上
普通索引(normal):
alter table user add index `name`(`name`)
唯一索引(unique):
alter table user add unique index `code`(`code`);
主键索引(primary):
alter table user add primary key(`code`);
组合索引():
alter table user add index `id_name`(`id`,`name`);
全文索引(fulltext):
alter table user add fulltext index `code`(`code`);
空间索引(spatial):
21.6.12【索引的规则和使用】
哪些字段适合加索引:
【适合】
1.与其他表进行连接时,连接的字段应该建立索引
2.经常出现where中的字段,应该建立索引
【不适合】
1.频繁数据更改的表,不适合建立太多索引
2.索引应该建立在小字段上,大文本字段不适建立索引
不使用索引的情况:
1.若mysql估计扫全表比用索引更慢,则不用索引
2.or的前后没有同时使用索引,则不用索引
3.like 以%开始的,则不用索引
4.字段参与计算、函数的,则不用索引
5.隐式转换的则不用索引
6.不等于的字段不参与索引
7.复核字段不遵循最左原则的不用索引
explain 详解:
id:选择标识符
select_type:表示查询的类型。
table:输出结果集的表
partitions:匹配的分区
type:表示表的连接类型
possible_keys:表示查询时,可能使用的索引
key:表示实际使用的索引
key_len:索引字段的长度
ref:列与索引的比较
rows:扫描出的行数(估算的行数)
filtered:按表条件过滤的行百分比
Extra:执行情况的描述和说明
标签:add 条件 normal 详解 开始 单列 red 条件过滤 字段
原文地址:https://www.cnblogs.com/shixiangqian/p/14878448.html