文章詳情頁
mysql - 循環中逐個查詢數據庫和聯表一次性查詢數據庫分別適用于哪種場景?
瀏覽:97日期:2022-06-20 16:31:04
問題描述
一般來說循環中逐條查詢的效率是比較低的,每次都產生連接以及并發的開銷。是否有些場景是適合在循環中逐個去查詢,而不適合一次性查表的場景呢?
問題解答
回答1:不要在循環中去查詢, 看不到任何在適合在循環中查詢的理由!如果你是一個離線任務, 不用像web請求那樣即時返回, 并且數據量也比較大, 那合理的做法也是你對查詢做一定的切割, 每次獲取幾十到幾百的數據(過多的數據也會導致傳輸緩慢)最后, 即使迫不得已真的要在循環中去查詢了, 你也應該使用同一個連接, 而不是每次都重新建立連接!
回答2:有,例如:
SELECT * FROM tableWHERE ...ORDER BY ..LIMIT 10
這種時候如果WHERE條件有若干個(例如id=1,id=2),就只能分開查了。雖然GROUP BY也可以,但GROUP BY在數據量大的時候性能可能比較低,一次GROUP BY查詢的時長可能比分開多次查詢的時間還要長。
相關文章:
1. 請教使用PDO連接MSSQL數據庫插入是亂碼問題?2. node.js - nodejs開發中常用的連接mysql的庫3. Python爬蟲如何爬取span和span中間的內容并分別存入字典里?4. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處5. 視頻文件不能播放,怎么辦?6. python - 數據與循環次數對應不上7. mysql - 把一個表中的數據count更新到另一個表里?8. 黑客 - Python模塊安全權限9. flask - python web中如何共享登錄狀態?10. mysql 查詢身份證號字段值有效的數據
排行榜
