mysql 索引设计准则
2015-09-29 11:07
525 查看
设计准则:
1.索引并非越多越好,一个表中如有大量的索引,不仅占用磁盘空间,而且会影响insert、delete、update等语句的性能,因为当表中的数据更改的同时,索引也会进行调整和更新。
2.避免对经常更新的表进行过多的索引,并且索引中的列尽可能少。而对经常用于查询的字段应该创建索引,但要必要添加不必要的字段
3.数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能不会产生优化的效果
4.在条件表达式中经常用到的不同指较多的列上建立索引,在不同值少的列上不要建立索引。比如在学生表的「性别」字段上只有「男」「女」两个不同值,因此就无须建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
5.当唯一性是某种数据本身的特征时,指定唯一索引。使用唯一索引需能确保定义的列的数据完整性,以提高查询速度。
6.在频繁进行排序或分组(即进行group by 或 order by操作)的列上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引
1.索引并非越多越好,一个表中如有大量的索引,不仅占用磁盘空间,而且会影响insert、delete、update等语句的性能,因为当表中的数据更改的同时,索引也会进行调整和更新。
2.避免对经常更新的表进行过多的索引,并且索引中的列尽可能少。而对经常用于查询的字段应该创建索引,但要必要添加不必要的字段
3.数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能不会产生优化的效果
4.在条件表达式中经常用到的不同指较多的列上建立索引,在不同值少的列上不要建立索引。比如在学生表的「性别」字段上只有「男」「女」两个不同值,因此就无须建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
5.当唯一性是某种数据本身的特征时,指定唯一索引。使用唯一索引需能确保定义的列的数据完整性,以提高查询速度。
6.在频繁进行排序或分组(即进行group by 或 order by操作)的列上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引
相关文章推荐
- MySQL不能启动 Can't start server : Bind on unix socke
- Mysql 主从复制-配置篇
- mysql 海量数据的存储和访问解决方案
- MySQL中的锁(表锁、行锁)
- MySQL中information_schema是什么
- mysql 字符串
- MySQL主从同步故障-Slave_SQL_Running: No
- 完全卸载mysql(停止服务、卸载相关程序、删除注册表)
- mac 安装免安装mysql
- MySQL Workbench
- win2008阿里一键环境包mysql老是1067报错
- mysql update正则替换sql语句
- MySQL中REGEXP正则表达式使用大全
- mysql 丛库不同步
- 安装MySQL的一些问题以及解决办法
- MySQL 查询优化器(三)
- MySQL 查询优化器(四)
- MySQL 查询优化器(总结)
- mysql函数 FROM_UNIXTIME 用法
- file /usr/share/mysql/charsets/README from install