作者GALINE (我是CQD,不是cqd)
看板Database
標題[SQL ] 隨機查詢多列
時間Wed Mar 18 13:22:11 2009
我現在使用PHP搭配MySQL,需要在大約萬筆的資料中隨機抽取多列(ex:100列)
資料中有流水號ID可用。
一般看到的用法都是搭配 order by rand() ,但印象中此法效率並不好。
我想到的作法是先取出流水號的最大值M,然後用PHP隨機產生N個小於M的數字
之後下「select * from table where ID in (N1,N2....)」
不過此法似乎還是要在index中做N次搜尋。不知道有沒有更有效率的作法呢?
--
這閃電拳能射出雷射光,威力每平方公分一萬億瓦特
威力無比,拳到之處,攻無不克
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.249.163.125
推 KiroKu:可以先抓出id在php隨機抓100個在去資料庫撈 03/19 02:15
→ GALINE:我就是這樣想,不知道有沒有更有效率的作法 03/19 22:23
推 kylekai:怎麼說都沒用..實際把 explain 拿出來用最實際.... 03/23 17:21