php對mysql提取數據那種速度更快
問題描述
1、單條數據,即只有一行數據,然后這行數據里面的字段article里面有40萬個單詞,以逗號(,)分割
2、有40萬條數據,即40萬行,每行的字段article中有一個單詞
如果方案1的速度快,要怎么分別循環提取出來,然后進行組合(以逗號分割),循環組合成40萬條,<a href='http://www.cgvv.com.cn/wenda/分割后的單獨一個單詞'>分割后的單獨一個單詞</a>
問題解答
回答1:我認為應該是方案2的速度快。
先取1000條數據:
SELECT `article` FROM `table` ORDER BY id DESC LIMIT 0,1000
對1000條數據逐個處理:
foreach ($list as $key => $value) {$link = ’<a href='http://www.cgvv.com.cn/wenda/’.$value[’article’].’'>’.$value[’article’].’</a>’; ....}
再處理下面1000條
回答2:光查詢的話,前者肯定要快,但是一個字段存40W個單詞(一個單詞按7個字母算--含逗號),就是將近300W個字母,大概有3M的數據。但是查詢出來,對這么長的字段進行切割,感覺不太靠譜。
回答3:如果是簡單的在頁面上列出40w個單詞這種業務,我覺得還是第一種方法快
理由:一、查詢方法1.掃描一行就能獲取到記錄,方法2那就需要掃描很多行了,花費的時間就不言而喻了(表越大越明顯)。這個過程方法1比方法2優越太多了二、輸出方法1需要獨立分割,這對php來說根本不叫事。然后都需要緩存輸出。
總的來說,方法1的開銷比方法2的開銷少。
相關文章:
