VVL1295

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

  

posted on 2016-10-20 15:59  bobo2018  阅读(73)  评论(0)    收藏  举报