查询SQL尽量不要使用select *,而是具体字段 避免在where子句中使用or来连接条件 使用varchar代替char 尽量使用数值替代字符串类型 查询尽量避免返回大量数据 使用explain分析你SQL执行计划 EXPLAIN SELECT * FROM laoshi WHERE id=1; 优化like语句 类型不匹配,不走索引 索引不宜太多,一般5个以内 索引不适合建在有大量重复数据的字段上 避免在where中对字段进行表达式操作,SQL解析时,如果字段相关的是表达式就进行全表扫描 去重distinct过滤字段要少 伪删除设计 状态 提高group by语句的效率 可以在执行到该语句前,把不需要的记录过滤掉 先过滤再分组 union和union all的区别是,union会自动去掉多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复