推 PretenderY:可以用 Mysql 的 Limit 試看看~ 05/19 20:51
推 arrack:推limit 05/19 21:10
推 shadowjohn:3328篇 05/19 21:33
→ cleanwind:3328我看過了 ... 但是這樣等於要對 sql 下兩次指令, 05/19 22:18
→ cleanwind:這樣真的會比較快?而且 * 取出的東西更多,不是嗎? 05/19 22:19
→ cleanwind:我不用撈出資料庫全部的資料,查詢也只下一次而已 ... 05/19 22:20
推 MrMarcus:select count(*)並不是撈出所有資料.當資料量多的時候, 05/19 23:36
→ MrMarcus:先使用select count(*)得到筆數是會比你使用的方式的. 05/19 23:38
→ MrMarcus:雖然多一次查詢,但是兩者回傳的資料量相差非常多. 05/19 23:39
→ MrMarcus:不過要注意一下你使用的mysql資料表類型.innodb的話,單純 05/19 23:39
→ MrMarcus:select count(*)而沒有where條件,速度很慢.如果是myisam 05/19 23:40
→ MrMarcus:資料表就沒差了,很快.但是通常這種狀況都會搭配where條件 05/19 23:40
→ MrMarcus:在這個狀況下innodb就不會那麼慢了(要看狀況). 05/19 23:41
推 JoeHorn:丟進 session,多開個欄位紀錄 SQL statement 是否相同, 05/19 23:57
→ JoeHorn:相同的話就直接從 session 撈,不同再去 DB 撈資料 05/19 23:58
→ cleanwind:原來我一直誤解了,謝謝各位 ^^ 05/20 01:54