《Mysql必讀mysql隨機(jī)查詢?nèi)舾蓷l數(shù)據(jù)的方法》要點(diǎn):
本文介紹了Mysql必讀mysql隨機(jī)查詢?nèi)舾蓷l數(shù)據(jù)的方法,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL必讀在mysql中查詢5條不重復(fù)的數(shù)據(jù),使用以下:
MYSQL必讀就可以了.但是真正測(cè)試一下才發(fā)現(xiàn)這樣效率非常低.一個(gè)15萬(wàn)余條的庫(kù),查詢5條數(shù)據(jù),居然要8秒以上
搜索Google,網(wǎng)上基本上都是查詢max(id) * rand()來(lái)隨機(jī)獲取數(shù)據(jù).
MYSQL必讀但是這樣會(huì)產(chǎn)生連續(xù)的5條記錄.解決方法只能是每次查詢一條,查詢5次.即便如此也值得,因?yàn)?5萬(wàn)條的表,查詢只需要0.01秒不到.
上面的語(yǔ)句采用的是JOIN,mysql的論壇上有人使用
MYSQL必讀我測(cè)試了一下,必要0.5秒,速度也不錯(cuò),但是跟上面的語(yǔ)句還是有很大差距.總覺(jué)有什么地方不正常.
于是我把語(yǔ)句改寫了一下.
MYSQL必讀這下,效率又提高了,查詢時(shí)間只有0.01秒
最后,再把語(yǔ)句完善一下,加上MIN(id)的判斷.我在最開(kāi)始測(cè)試的時(shí)候,便是因?yàn)闆](méi)有加上MIN(id)的判斷,結(jié)果有一半的時(shí)間總是查詢到表中的前面幾行.
完整查詢語(yǔ)句是:
MYSQL必讀最后對(duì)這兩個(gè)語(yǔ)句進(jìn)行分別查詢10次,
前者花費(fèi)時(shí)間 0.147433 秒
后者花費(fèi)時(shí)間 0.015130 秒
看來(lái)采納JOIN的語(yǔ)法比直接在WHERE中使用函數(shù)效率還要高很多.
《Mysql必讀mysql隨機(jī)查詢?nèi)舾蓷l數(shù)據(jù)的方法》是否對(duì)您有啟發(fā),歡迎查看更多與《Mysql必讀mysql隨機(jī)查詢?nèi)舾蓷l數(shù)據(jù)的方法》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/9880.html