您的位置:首页 > 数据库 > MySQL

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

2017-09-08 18:10 405 查看
索引优化和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 够用就行,不要慷慨
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: