您的位置:首頁技術文章
文章詳情頁

mysql - 連續的24條sql語句,一條條查,還是union all好?

瀏覽:160日期:2022-06-11 15:28:02

問題描述

這連續的24條是類似的,這是條件不一樣的,譬如9點到10點,10點到11點

問題解答

回答1:

“顯然,使用 UNION ALL 的時候,只是單純的把各個查詢組合到一起而不會去判斷數據是否重復。因此,當確定查詢結果中不會有重復數據或者不需要去掉重復數據的時候,應當使用 UNION ALL 以提高查詢效率。”

回答2:

為什么不用OR來連接這些條件呢?比如:

SELECT ... WHERE hour BETWEEN (9, 11) OR hour BETWEEN (13, 15)回答3:

對數據庫來說24次請求肯定比一次要更消耗資源(多次驗證解析+網絡傳輸),并且如果你的時間是連續的話可以合并,最差的情況時間不連續union all更好,當然前提是時間字段有索引,不建議換成or,因為or會增加解析且當時間范圍過多時會有全表掃描風險,而union all只需要將結果集合并即可

国产综合久久一区二区三区