1. 程式人生 > >【MySQL優化】MySQL 優化筆記整理-持續更新

【MySQL優化】MySQL 優化筆記整理-持續更新

1.order by 查詢效率低下,導致查詢語句十分緩慢。

a.order by 儘量+索引欄位

b.order by 索引失效,一般是由於select 的欄位中存在非索引欄位。

c.複雜的聚合查詢語句,儘量拆分成簡單的單查詢語句。

 

2.limit 用在in或者其他子查詢中的方法

可以將查詢結果包裝成新的子查詢,從而使用limit,示例如下:

原查詢語句 :

SELECT stu.name,stu.age,stu.sex,cou.name,cou.score
FROM student stu
WHERE stu.id 
IN (   select stuId  from course cou  where  stu.id = cou.stuId  

order by cou.score  limit 0,10

執行該語句,應該會報錯,limit不應該用於in、any、some等等之中。

改造以後:

SELECT stu.name,stu.age,stu.sex,cou.name,cou.score
FROM student stu WHERE stu.id 
IN (   

select id from(

select stuId  from course cou  where  stu.id = cou.stuId  

order by cou.score  limit 0,10

) as temp