1. 尽量不要使用select *,而是具体字段
节省资源、减少网络开销,减少回表,提高查询效率
//正例
SELECT * FROM table;
//反例
SELECT id,name FROM table;
2. 用in代替or
使用or可能会使索引失效,从而全表扫描,MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而这个数组是排好序的,在数据量大的情况会显著的提升查询效率。
//正例
SELECT * FROM table WHERE id in(10,10,30);
//反例
SELECT id,name FROM table WHERE id = 10 OR id = 20 OR id = 30