1.查询不一定要使用select *,应该使用具体的字段代替*,只返回使用到的字段。
2.在表中建立适当的索引,但也要避免建立过多的索引,建立过多索引会造成内存消耗过大且修改效率很低。
3.不要在where条件中使用左右两边都是%的like模糊查询,尽量在字段后面使用模糊查询。
例:SELECT * FROM table_1 WHERE name LIKE '王%'
4.尽量不要使用in 和not in,会造成全表扫描。如果条件允许可以使用 between and或exists 代替。
5.尽量不要使用or,会造成全表扫描,可以用union代替or。
6.尽量不要在 where 子句中对字段进行表达式操作,这样会造成全表扫描。
7.where条件里尽量不要进行null值的判断,null的判断也会造成全表扫描,建议给null字段添加默认值。