- 索引会占据瓷盘空间,数据越大索引占据空间越大
- mysql表中除了聚集索引外其他索引都是辅助索引(Secondary Index,也称为非聚集索引),与聚集索引的区别是:辅助索引的叶子节点不包含行记录的全部数据。
- 聚焦索引:更适合between and和order by操作,每个表只能建立一个聚焦索引(如果未定义主键,MySQL取第一个唯一索引(unique)而且只含非空列(NOT NULL)作为主键)
- 辅助索引:一张表可以建立多个辅助索引,索引很影响update和insert速度
- 尽量选择区分度高的列作为索引(区分度高就是重复项少),重复项高会增加b树高度,极端情况下类型全盘扫描
- 条件查询时,进来不要把索引列进行计算,开销过大
- 多条件and查询时,mysql会根据联合索引从左往右搜索,应该吧区分度高的列放在联合索引前
- 最左前缀匹配原则
其他注意事项:
1.创建表时尽量使用 char 代替 varchar
2.组合索引代替多个单列索引(由于mysql中每次只能使用一个索引,所以经常使用多个条件查询时更适合使用组合索引)
3.使用连接(JOIN)来代替子查询(Sub-Queries)
数据库注意事项
最新推荐文章于 2024-01-01 16:40:58 发布