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

 

——现在的努力,只为小时候吹过的牛逼! ——