mysql 索引优化、使用原则及注意事项

索引优化和sql优化是不可分离的,这里就连起来一块说了
先介绍下索引建立及使用过程中初步应该需要注意的点,就像大部分文章和视频中所介绍的那样,刚开始简单的东西都是大同小异,诸如以下 点
SQL优化
1 少取字段,只取需要的

索引优化
先介绍下hash索引
1 尽量给where条件和排序的字段建立索引(考虑联合索引)
2 where条件中使用字段的顺序尽量和联合索引中的字段顺序一致(即最左前缀原则),其实不一致也可以(因为从语义上来讲都是一样的,mysql会将sql语句优化成最理想的顺序状态),但一定要使用第一个字段作为条件才能使用到该索引,否则无法使用
3 索引除了能用于where条件搜索,还可以用于order by排序和group by 分组
4 in可以用到索引,但数量不要太多(未仔细考证多少个最合适)
5 关于覆盖索引(回行)真的有很多话要说
5.1
聚簇索引 innodb
次级索引指向对主键的引用
非聚簇索引 myisam

稍微涉及一点表的优化
1 定长和变长字段分离(因为定长字段可以查询的很快)
2 关于表中应该存放那些字段的问题,常用的和不常用的字段要尽量分开
3 适当添加冗余以提高速度
4 列类型的选择
4.1 优先级:整型>date/timestamp>enum>varchar>blob/text
4.2 够用就行,不要慷慨

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值