1.建立索引
(1)合理的索引能够加速数据读取效率,不合理的索引反而会拖慢响应速度;
(2)索引越多,更新数据的速度越慢
(3)尽量在MyIsam作为引擎的时候使用索引
(4)可在条件语句上建立索引,where,order by
2.大量数据查询时存储引擎使用MyISAM
MyISAM与InnoDB的区别
MyISAM:高性能读取,适合大量数据查询;适合做很多count的计算;表级锁,开销小;不支持事务;不支持外键
InnoDB:适用于高并发的频繁修改表;支持事务;行级锁,消耗大;不适合建索引;支持外键
3.SQL优化
(1)减少查询字段,避免select * ,需要什么字段查询什么字段;
(2)一次性对同一个表插入多条数据,可以拼接,效率更高 insert into persona(name,age) values ('aa','12'),('dd','22'),('ww','32');
4.合理的字段类型
(1)避免使用NULL类型,应使用NOT NULL或者特殊字符(0,1)作为默认值
(2)尽可能使用更小的字段,MySQL从磁盘读取数据后会存储到内存中,数据类型越小占用的空间越小
(3)优先使用定长型
5.避免在索引字段上进行运算
尽量避免在WHERE子句中对字段进行函数或表达式操作,如:select * from T1 where F1/2 = 100 应该为 select * from T1 where F1 = 100*2
6.尽量使用数字型字段
7.能够使用between就不要用in
8.能够使用distinct就不要用group by