作者a5170040 (Piggy)
看板Database
標題[SQL ] MYSQL 查詢最新的前n筆資料速度很慢?
時間Fri Aug 14 09:24:55 2009
小弟剛用MySQL
我在查詢最新的前n筆資料的時候是這樣下的
select * from fin order by date desc limit 5;
可是速度我覺得很慢
不知道有沒有更快速的方法?
其實我的fin資料表在記錄資料的時候就已經排序了
date
2009/08/01
2009/08/02
2009/08/03
.
.
可是我不知道怎麼下達最新的前5筆資料(在不知道有多少資料的情況下)
select * from fin limit 5;
是取最前面的5筆
謝謝
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.36.254
1F:推 sai25:MYSQL沒TOP可用嗎? 有ORDER指令會比較慢 08/14 12:21
2F:推 reflynet:先count總筆數 再limit最後五筆 不知道會不會比較快.. 08/14 12:25
3F:→ a5170040:哈...樓上的方法我也用過...有比較快...不知是否有現成 08/14 12:30
4F:推 reflynet:哈哈 因為我習慣用pagnition,所以一定都先count一次XD 08/14 12:33
5F:推 iamnotfat:改成asc吧~ desc是遞減 08/14 13:42
6F:推 maplenote:他要抓最新的5筆 用遞減是對的呀~ 08/14 16:25
7F:推 maplenote:如果另外產生最新5筆的view 會比較快嗎? 我是沒嘗試過 08/14 16:59
8F:推 asklove:請問如果是以時間做為條件呢? 資料庫中有數千萬筆... 08/14 20:11
9F:→ KC73:EXPLAIN select * from fin order by date desc limit 5; 08/14 23:10
10F:推 iamnotfat:為何需要排序? 08/17 12:31
11F:推 iamnotfat: select * from fin where date > current_date()-5; 08/17 12:35
12F:推 iamnotfat: date 欄位建個索引 08/17 12:43