(1)最重要的是尽量避免全表扫描”

(2)适当的创建索引,考虑在 where 及 order by 涉及的列上建立索引(把所建的索引所用列名,用在where语句中,并尽量在条件的最右边,索引相关知识:https://www.jianshu.com/p/f588c41f1cb5)

(3)尽量避免在 where 子句中对字段进行 null 值判断、使用!=或<>操作符、使用 or 来连接条件、对字段进行函数操作等

(4)in 和 not in 也要慎用,否则可能会导致全表扫描

(5)很多时候用 exists 代替 in 是一个好的选择

(6)尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。

(7)尽可能的使用 varchar 代替 char ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。

(8)把条件最小的写在最右边,如果id=?写在最右边

(9)尽量少写子查询,用join语句代替,少写in,like,or