码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL 优化(二),持续更新收藏

时间:2020-06-29 18:37:31      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:isp   play   范围查询   day   select   存在   code   tiny   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 优化(二),持续更新收藏

标签:isp   play   范围查询   day   select   存在   code   tiny   mysql   

原文地址:https://www.cnblogs.com/dk1988/p/13209270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!