MYSQL 优化,持续更新收藏

Posted dk1988

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL 优化,持续更新收藏相关的知识,希望对你有一定的参考价值。

索引部分

1:联合索引如果能覆盖索引 会省去回表操作 效率大大提高

所以select的字段 尽量只查询联合索引里面的字段

2:只为搜索,排序,分组的字段建立索引

3:列基数过小的 就不需要索引了 效率不高 比如sex性别这种

4:索引列的字段尽量要小 比如tinyint char(8) 这样

索引占用的存储空间就越少,在一个数据页内就可以放下更多的记录,从而减少磁盘I/O带来的性能损耗,也就意味着可以把更多的数据页缓存在内存中,从而加快读写效率

5:对于超长字段 比如name 其中有的字段很长比如“阿里马叉挖啦啦啦啦” 可以只对字符前几个字符进行索引 比如name(10)这样效率比较可观

6:去掉一些冗余索引 

比如 

KEY idx_name_birthday_phone_number (name(10), birthday, phone_number),

KEY idx_name (name(10))

上面的联合索引 已经可以对name进行排序了 下面一个则多余了

7:hash索引一般用于唯一性字段(也不一定非要唯一 但重复性比较高的字段使用hash增删改查性能都不怎么好)的索引比较好 且没范围查询需求,排序需求

比较好的例子就比如微信的openid之类

否则还是b+索引

 

 

 

以上是关于MYSQL 优化,持续更新收藏的主要内容,如果未能解决你的问题,请参考以下文章

php,mysql,linux,redis,docker等相关技术经典面试题,新手收藏学习,持续更新中。。。

回归 | js实用代码片段的封装与总结(持续更新中...)

小程序各种功能代码片段整理---持续更新

收藏网站_持续更新

☀️~算法系列之爆肝万字总结七种查找算法,持续补充更新中,建议收藏~☀️

程序员必须收藏的网站整理(持续更新)