搜尋

首頁  >  問答  >  主體

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

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

滿天的星座滿天的星座2810 天前938

全部回覆(3)我來回復

  • 欧阳克

    欧阳克2017-06-08 11:05:29

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

    回覆
    0
  • 学习ing

    学习ing2017-06-08 11:05:29

    為什麼不用OR來連結這些條件呢?如:

    SELECT ... WHERE hour BETWEEN (9, 11) OR hour BETWEEN (13, 15)

    回覆
    0
  • 为情所困

    为情所困2017-06-08 11:05:29

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

    回覆
    0
  • 取消回覆