1.首先应考虑在 where 及 order by 涉及的列上建立索引。索引不能过多,不利于删除,插入等操作。

2.应尽量避免在 where 子句中对字段进行 null 值判断,将导致引擎放弃使用索引而进行全表扫描

3.应尽量避免在 where 子句中使用!=或<>操作符,将引擎放弃使用索引而进行全表扫描

4.应尽量避免在 where 子句中使用 or 来连接条件,将导致引擎放弃使用索引而进行全表扫描

5.合理使用like模糊查询,不要乱用

6.不要在 where 子句中进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引。

7.不要写一些没有意义的查询

8.很多时候用 exists 代替 in 是一个好的选择

9.选择合适的字段类型,尽量使用数字型字段。

15.尽可能的使用 varchar 代替 char ,因为首先变长字段存储空间小,可以节省存储空间

16.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。

17.避免频繁创建和删除临时表,以减少系统表资源的消耗。