我想使用我自己的算法來過濾從數據庫檢索的數據,而不是使用MySQL LIKE子句...但是這會對應用程序的性能產生顯着影響數據的?從數據庫中選擇所有數據並用PHP手動過濾
0
A
回答
2
數據過濾和搜索絕對是mysql服務器的一項工作。客戶端數據過濾是不是一個好辦法:
當您使用LIKE
條款MySQL服務器將篩選數據之前檢索到客戶端(PHP)。因此,當您不使用LIKE
時,傳輸的數據量會大得多,首次性能問題是什麼。
第二個問題是PHP將使用大量內存(整個數據集)。
第三個問題是,你將在PHP需要在所有記錄
那麼,你有沒有這樣做有三個很好的理由循環。請注意,除LIKE
子句外,還有很多string functions in mysql。他們應該適合。
2
是的,如果您總是檢索所有數據,然後對它們進行排序而不是讓數據庫處理它,它將對性能產生巨大影響。
1
這是一個非常糟糕的主意。你們有些人應該離開過濾的DBMS系統的理由是:
- DBMS系統對這些操作
- 這種類型的操作會造成很大的開銷在你的網絡服務器進行了優化。想象一下,必須在PHP中使用數千或數百萬個字符串進行字符串操作。這由DBMS在任何時候完成。
- 攜帶大量的數據從數據庫到Web服務器,並可能給瀏覽器,將會使你的應用程序要慢得多
- 做用自己的PHP代碼過濾在推行錯誤和邏輯錯誤的可能性要高得多。
因此,離開DBMS做它的工作!
+1
很好的答案! ... – hek2mgl
相關問題
- 1. ngTable選擇所有過濾的數據
- 2. PHP從數據庫中選擇數據
- 3. 使用選擇過濾數據庫
- 4. 數據庫選擇所有
- 5. 從數據庫中選擇數據並進行更新PHP/PDO
- 6. 從數據庫中選擇所有用戶,並把日期選擇選項
- 7. 從數據庫中過濾數據
- 8. 從多個數據庫文件中選擇所有行 - php sqlite3
- 9. 選擇某些數據庫數據庫中的所有字段
- 10. 插入並從數據庫中選擇
- 11. PHP和MySQL從數據庫中選擇
- 12. PHP - 從數據庫中選擇多列
- 13. 從數據庫1中選擇*並插入數據庫2
- 14. 如何使用PHP從Oracle數據庫中選擇數據
- 15. 從數據庫中選擇數據(Yii)
- 16. codeigniter - 從數據庫中選擇數據
- 17. 從數據庫中選擇數據
- 18. Php從HTML中選擇(從數據庫)sqlite3刪除數據
- 19. 從數據庫中選擇並插入到不同的數據庫在PHP-MySQL
- 20. 從?中選擇數據庫?
- 21. 從數據庫中選擇數據使用php中的複選框從mysql
- 22. PHP選擇表單使用php從數據庫中提取所有條目,並顯示選中的一個
- 23. mysql5.7恢復所有數據庫的選擇數據庫
- 24. 根據所選索引從SQL數據庫中選擇行
- 25. 如何從SQL數據庫中提取所有數據並用php顯示它?
- 26. 數據庫選擇(PHP)
- 27. 基於按鈕選擇從Firebase過濾所需數據
- 28. 從數據庫中選擇數據並給出錯誤
- 29. 許多往返數據庫,或所有數據/過濾器?
- 30. PHP從數據庫中填充數據時區選擇
您將使用PDO包裝類? –
取決於算法是 –