补充:
- 尽量用group by代替distinct
- 对于select只选择需要的字段
- 对于使用or来说,如果是单表同一字段的or,还是单表不同字段的or,用union all和使用or是没什么区别的;如果是多表的or,并且是一张表里的字段,不管是不是同字段,只要是一张表里的,union all和or也是没区别的;只有当是多表的or,并且是不同表里的字段的or,使用union all才会比使用or更高效
- 可以使用instr(col,value) > 0 来代替全模糊查询,当然了,右模糊更高效,但是提前是对应字段要加上索引
- in在mysql5.5之前是不走索引的,在之后就走索引了