mysql索引设计原则有哪些

最近在找工作过程中经常被问到mysql数据库优化的相关问题,而mysql索引设计又是优化的重要一环,查找相关资料,总结出了相关知识点如下,仅供参考,欢迎评论区补充。

一、适合加索引的列

1.对于经常查询的字段,一定是为搜索条件的字段创建索引

2.某字段本身具有唯一性特征时,指定唯一索引能提高查询速度。比如身份证号字段,每个用户的身份证号是唯一的。

3.在频繁进行跑排列分组(即进行 group by 或 order by操作)的列上建立索引,如果待排序有多个,可以在这些列上建立组合索引。

二、不适合加索引的列

1.索引不是越多越好,一个表如果有大量索引,不仅占用磁盘空间,而且会影响INSERT,DELETE,UPDATE等语句的性能。

2.避免对经常更新的表进行过多的索引,因为当表中数据更改的同时,索引也会进行调整和更新,十分消耗系统资源。

3.数据量小的表建议不要创建索引,数据量小时索引不仅起不到明显的优化效果,对于索引结构的维护反而消耗系统资源。

4.不要在区分度低的字段建立索引。比如性别字段,只有 “男” 和 “女” ,建索引完全起不到优化效果。

你可能感兴趣的:(Mysql,mysql)