MySQL 索引设计原则

您所在的位置:网站首页 简述算法设计原则的内容有哪些 MySQL 索引设计原则

MySQL 索引设计原则

2024-07-17 18:59| 来源: 网络整理| 查看: 265

MySQL 索引设计原则:

(1)对于经常查询的字段,建议创建索引。

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

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

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

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

(6)当唯一性是某字段本身的特征时,指定唯一索引能提高查询速度。

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

MySQL 索引未命中情况:

(1)范围问题,条件中出现这些符号或关键字:>、>=、 3 and d =4

索引:制作联合索引(d,a,b,c)

工作原理::对于连续多个and:mysql会按照联合索引,从左到右的顺序找一个区分度高的索引字段(这样便可以快速锁定很小的范围),加速查询,即按照 d -> a -> b -> c 的顺序

(2)or的逻辑,例子:

条件:a = 10 or b = 'xxx' or c > 3 or d =4

索引:制作联合索引(d,a,b,c)

工作原理:对于连续多个or:mysql会按照条件的顺序,从左到右依次判断,即 a-> b -> c -> d

参考文章:https://m.jb51.net/article/140749.htm

参考书籍:

《MySQL5.7 从入门到精通》刘增杰 编著

《Java Web 轻量级开发 面试教程》孟宪福 胡书敏 金华 编著



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3