文章詳情頁
mysql - 循環(huán)中逐個查詢數(shù)據(jù)庫和聯(lián)表一次性查詢數(shù)據(jù)庫分別適用于哪種場景?
瀏覽:82日期:2022-06-20 16:31:04
問題描述
一般來說循環(huán)中逐條查詢的效率是比較低的,每次都產(chǎn)生連接以及并發(fā)的開銷。是否有些場景是適合在循環(huán)中逐個去查詢,而不適合一次性查表的場景呢?
問題解答
回答1:不要在循環(huán)中去查詢, 看不到任何在適合在循環(huán)中查詢的理由!如果你是一個離線任務(wù), 不用像web請求那樣即時返回, 并且數(shù)據(jù)量也比較大, 那合理的做法也是你對查詢做一定的切割, 每次獲取幾十到幾百的數(shù)據(jù)(過多的數(shù)據(jù)也會導(dǎo)致傳輸緩慢)最后, 即使迫不得已真的要在循環(huán)中去查詢了, 你也應(yīng)該使用同一個連接, 而不是每次都重新建立連接!
回答2:有,例如:
SELECT * FROM tableWHERE ...ORDER BY ..LIMIT 10
這種時候如果WHERE條件有若干個(例如id=1,id=2),就只能分開查了。雖然GROUP BY也可以,但GROUP BY在數(shù)據(jù)量大的時候性能可能比較低,一次GROUP BY查詢的時長可能比分開多次查詢的時間還要長。
相關(guān)文章:
1. android - NavigationView 的側(cè)滑菜單中如何保存新增項(通過程序添加)2. php - sql查詢結(jié)果合并的問題3. php7.3.4中怎么開啟pdo驅(qū)動4. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)5. 編程學(xué)習(xí)心得分享(共80條)6. tp5 不同控制器中的變量調(diào)用問題7. 這段代碼既不提示錯誤也看不到結(jié)果,請老師明示錯在哪里,謝謝!8. ueditor上傳服務(wù)器提示后端配置項沒有正常加載,求助!!!!!9. python-mysqldb - 這樣結(jié)構(gòu)的mysql表,如何快速update10. 老師 我是一個沒有學(xué)過php語言的準(zhǔn)畢業(yè)生 我希望您能幫我一下
排行榜

熱門標(biāo)簽