iT邦幫忙

DAY 9
3

網頁開發五四三系列 第 10

MySQL 效能優化,針對 Limit

MySQL 效能優化技術分享
MySQL的limit工作原理就是先讀取N筆記錄,然後拋棄前N筆,讀M筆想要的

所以N越大,性能會越差

優化前SQL:

SELECT * 
FROM member 
ORDER BY last_active 
LIMIT 50,5

優化後SQL:

SELECT * 
FROM member 
INNER JOIN 
(
  SELECT member_id 
  FROM member 
  ORDER BY last_active 
  LIMIT 50, 5
) 
USING (member_id)

分別在於,優化前的SQL需要更多I/O浪費

因為先預索引,再讀數據,然後拋棄無需的資料。

而優化後的SQL(子查詢)只讀索引(Cover Index)就可以了

然後,然後利用member_id讀取需要的資料即可。


上一篇
給 JavaScript 的 Class 新增方法 ( .method vs .prototype )
下一篇
取得 IP , 針對 Raspberry Pi 於家中利用 pppoeconf 連線
系列文
網頁開發五四三12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
sheephead081
iT邦新手 4 級 ‧ 2013-09-24 10:21:23

really awesome stuff.

我要留言

立即登入留言