最近覚えたメモ。
SQLでテーブルなどをくっつける『UNION』集合演算子について。
SQLに触れる機会は、ほとんどMicrosoft Accessに限られる私ですが、扱うデータが12百万行とかあったりするので、元データは分割しておいて、クエリで行を絞ったり集計したりした結果を、UNIONすることがあります。
Ads.
UNION ALLを知った
Access関連の本を読んでいる限り、UNIONはUNIONでしかないのですが、いろいろSQL関連でググったりしたら出てきた事実がありました。
それは
『UNION』より『UNION ALL』の方が処理が速い
ということ。
違いは、
- UNION:2つ(またはそれ以上)のテーブルなりクエリなりに重複レコードがあったら削除
- UNION ALL:重複レコードがあってもそのままくっつける
というコト。
私がUNION使う場合は、ほぼ『ALL』が適用できるパターンだったので、いろいろ置き換えてみたら、確かに速い。
一度お試しあれ。
最後まで読んでいただき、ありがとうございました。