php對mysql提取數據那種速度更快
問題描述
1、單條數據,即只有一行數據,然后這行數據里面的字段article里面有40萬個單詞,以逗號(,)分割
2、有40萬條數據,即40萬行,每行的字段article中有一個單詞
如果方案1的速度快,要怎么分別循環提取出來,然后進行組合(以逗號分割),循環組合成40萬條,<a href='http://www.leifengta.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.leifengta.com.cn/wenda/’.$value[’article’].’'>’.$value[’article’].’</a>’; ....}
再處理下面1000條
回答2:光查詢的話,前者肯定要快,但是一個字段存40W個單詞(一個單詞按7個字母算--含逗號),就是將近300W個字母,大概有3M的數據。但是查詢出來,對這么長的字段進行切割,感覺不太靠譜。
回答3:如果是簡單的在頁面上列出40w個單詞這種業務,我覺得還是第一種方法快
理由:一、查詢方法1.掃描一行就能獲取到記錄,方法2那就需要掃描很多行了,花費的時間就不言而喻了(表越大越明顯)。這個過程方法1比方法2優越太多了二、輸出方法1需要獨立分割,這對php來說根本不叫事。然后都需要緩存輸出。
總的來說,方法1的開銷比方法2的開銷少。
相關文章:
1. boot2docker無法啟動2. java - SSH框架中寫分頁時service層中不能注入分頁類3. 老師,按tab鍵不起作用怎么回事4. 關于docker下的nginx壓力測試5. node.js - antdesign怎么集合react-redux對input控件進行初始化賦值6. javascript - 前端打包實現7. angular.js - Angular開發的單頁面應用,如何正確地實現在微信里的網頁授權和調用js sdk8. python - django的model字段在保存的時候做預處理怎么辦?9. html - input中radio為什么多選10. javascript - atom編輯器旁邊的的帶三角形的短紅線是什么意思,如何去除?

網公網安備