mysql 查询优化经验
时间:2015-01-27 19:27 来源: 我爱IT技术网 作者:小搜
项目中用到的mysql数据查询变得很慢,在数据量小的时候影响不大,但数据量达到几万条时就变得很慢了。
主要原因还是在当初设计的时候为了赶进度,没做什么优化,当初的偷懒造成了现在的问题。
啥都不说了,优化!
先说几个设计上的原则
1.避免适用空字段
2.尽量避免使用varchar
3.主键尽量使用数字,如果用GUID做主键,那么类型一定得是char(32)
4.查询的select和where都会影响索引的算则
5.select和where字段的顺序也会影响mysql对索引的选择
6.尽量避免group by和order by
7.应尽量早的开始优化索引,避免因不良设计影响性能。
8.优化现有复杂查询时,应先优化针对主表的查询,然后逐步递增,逐步优化。
9.索引太多会影响insert/update的性能。
10.建立索引的一个原则是where条件字段+order by字段
11.尽量不要用group by,如果可能的话用distant
12.如果必要的冗余能带来性能的飞跃,就不要太拘泥于3范式。
13.多用explain调试,上面的几个原则也未必正确,速度才是硬道理。
优化mysql查询一般都是用explian命令,网上很多用法,就不说了。
优化后性能不错,查询一条数据不到0.03~0.1秒就完成了,性能比以前有了百倍的飞跃。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
