sql優化之union all 和or ,in使用

2022-08-30 02:57:12 字數 356 閱讀 2489

不要迷信union all 就比 or及in 快,要結合實際情況分析到底使用哪種情況。

對於索引列來最好使用union all,因複雜的查詢【包含運算等】將使or、in放棄索引而全表掃瞄,除非你能確定or、in會使用索引

對於只有非索引字段來說你就老老實實的用or 或者in,因為 非索引字段本來要全表掃瞄而union all 只成倍增加表掃瞄的次數

對於既有索引字段【索引字段有效】又包含非索引字段來時,按理你也使用or 、in或者union all 都可以,

但是我推薦使用or、in。

以上主要針對的是單錶,而多表聯合查詢來說,考慮的地方就比較多了,比如連線方式,查詢表資料量分布、索引等,再結合單錶的策略選擇合適的關鍵字

SQL語句之Union和Union All

sql中union和join語句非常類似,但是union有乙個限制條件 兩個 sql 語句所產生的字段需要是同樣的資料種類,最後的結果會看到不同的資料值。格式 sql 語句 1 union sql 語句 2 例如 表store info 和表internet sales 使用union語句 sele...

sql中union和union all用法

如果我們需要將兩個select語句的結果作為乙個整體顯示出來,我們就需要用到union或者union all關鍵字。union 或稱為聯合 的作用是將多個結果合併在一起顯示出來。union和union all的區別是,union會自動壓縮多個結果集合中的重複結果,而union all則將所有的結果全...

UNION和UNION ALL的SQL詳細用法

在開發中,有些資料的儲存可能涉及到分庫分表,查詢的時候,可能需要查詢所有的分表,這個時候,就需要用到union或者union all,下面介紹一下union的用法以及與union all的區別 union操作符用於合併兩個或多個select語句的結果集,這裡需要注意的是 union內部的select...