MySQL 查询优化
1,使用索引;
2,表足够小时,用全表扫描,代替使用索引;
3,使用 OR 子句,且 OR 的两边都没有用上索引,可能导致全表扫描;如果 OR 子句的两边有不同的索引进行优化,使用 UNION 代替 OR可提高性能;
4,合计函数的效率相当高;
5,group by 列名 和 order by 列名 子句中列名应该加上索引,不然会在查询过程中增加临时表,影响性能;
6,在JOIN查询中,ORDER BY或者GROUP BY使用了不是第一个表的列 例如:SELECT * from TableA, TableB ORDER BY TableA.price GROUP by TableB.name,会造成查询过程中增加临时表;
7,SELECT语句中指定了SQL_SMALL_RESULT关键字 SQL_SMALL_RESULT的意思就是告诉MySQL,结果会很小,请直接使用内存临时表,不需要使用索引排序 SQL_SMALL_RESULT必须和GROUP BY、DISTINCT或DISTINCTROW一起使用 一般情况下,我们没有必要使用这个选项,让MySQL服务器选择即可;
参考链接:http://dev.yesky.com/1/35358001.shtml
浙公网安备 33010602011771号