php對mysql提取數(shù)據(jù)那種速度更快
問題描述
1、單條數(shù)據(jù),即只有一行數(shù)據(jù),然后這行數(shù)據(jù)里面的字段article里面有40萬個(gè)單詞,以逗號(,)分割
2、有40萬條數(shù)據(jù),即40萬行,每行的字段article中有一個(gè)單詞
如果方案1的速度快,要怎么分別循環(huán)提取出來,然后進(jìn)行組合(以逗號分割),循環(huán)組合成40萬條,<a href='http://www.piao2010.com/wenda/分割后的單獨(dú)一個(gè)單詞'>分割后的單獨(dú)一個(gè)單詞</a>
問題解答
回答1:我認(rèn)為應(yīng)該是方案2的速度快。
先取1000條數(shù)據(jù):
SELECT `article` FROM `table` ORDER BY id DESC LIMIT 0,1000
對1000條數(shù)據(jù)逐個(gè)處理:
foreach ($list as $key => $value) {$link = ’<a href='http://www.piao2010.com/wenda/’.$value[’article’].’'>’.$value[’article’].’</a>’; ....}
再處理下面1000條
回答2:光查詢的話,前者肯定要快,但是一個(gè)字段存40W個(gè)單詞(一個(gè)單詞按7個(gè)字母算--含逗號),就是將近300W個(gè)字母,大概有3M的數(shù)據(jù)。但是查詢出來,對這么長的字段進(jìn)行切割,感覺不太靠譜。
回答3:如果是簡單的在頁面上列出40w個(gè)單詞這種業(yè)務(wù),我覺得還是第一種方法快
理由:一、查詢方法1.掃描一行就能獲取到記錄,方法2那就需要掃描很多行了,花費(fèi)的時(shí)間就不言而喻了(表越大越明顯)。這個(gè)過程方法1比方法2優(yōu)越太多了二、輸出方法1需要獨(dú)立分割,這對php來說根本不叫事。然后都需要緩存輸出。
總的來說,方法1的開銷比方法2的開銷少。
相關(guān)文章:
1. 編輯成功不顯示彈窗2. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法3. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?4. mysql - 數(shù)據(jù)庫表中,兩個(gè)表互為外鍵參考如何解決5. mysql儲存json錯(cuò)誤6. mysql - 怎么生成這個(gè)sql表?7. mysql - 表名稱前綴到底有啥用?8. sql語句 - 如何在mysql中批量添加用戶?9. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?10. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。
