文章目录
1、设计原则 2、索引小结 2.1、索引概述 2.2、索引结构 2.3、索引分类 2.4、索引语法 2.5、SQL性能分析 2.6、索引使用 2.7、索引设计原则
1、设计原则
针对于数据量较大,且查询比较频繁的表建立索引。
针对于常作为查询条件(where)、排序(order by)、分组(group by)操作的字段建立索引。
尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用索引的效率越高。
如果是字符串类型的字段,字段的长度较长,可以针对于字段的特点,建立前缀索引。
尽量使用联合索引,减少单列索引,查询时间=,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率。
要控制索引的数量,索引并不是多多益善,索引越多,维护索引结构的代价也就是越大,会影响增删改的效率。
如果索引列不能存储null值,请在创建表时使用not null约束它。当优化器知道每列是包含null值时,它可以更好地确定哪个索引最有效地用于查询。
2、索引小结
2.1、索引概述
索引是高效获取数据的数据结构;
2.2、索引结构
B+Tree
Hash
2.3、索引分类
主键索引、唯一索引、常规索引、全文索引
聚集索引、二级索引
2.4、索引语法
create [ unique ] index xxx on xxx( xxx) ;
show index from xxx;
drop index xxx on xxx;
2.5、SQL性能分析
执行频次、慢查询日志、profile、explain
2.6、索引使用
联合索引
索引失效
SQL索引
覆盖索引
前缀索引
单列/联合索引
2.7、索引设计原则
表
字段
索引