2016年11月8日火曜日

[SQL]UNIONよりUNION ALLのほうが速い



最近覚えたメモ。

SQLでテーブルなどをくっつける『UNION』集合演算子について。

SQLに触れる機会は、ほとんどMicrosoft Accessに限られる私ですが、扱うデータが12百万行とかあったりするので、元データは分割しておいて、クエリで行を絞ったり集計したりした結果を、UNIONすることがあります。

Ads.

 

UNION ALLを知った

Access関連の本を読んでいる限り、UNIONはUNIONでしかないのですが、いろいろSQL関連でググったりしたら出てきた事実がありました。

それは

『UNION』より『UNION ALL』の方が処理が速い

ということ。

違いは、

  • UNION:2つ(またはそれ以上)のテーブルなりクエリなりに重複レコードがあったら削除
  • UNION ALL:重複レコードがあってもそのままくっつける

というコト。

私がUNION使う場合は、ほぼ『ALL』が適用できるパターンだったので、いろいろ置き換えてみたら、確かに速い。

一度お試しあれ。

 

最後まで読んでいただき、ありがとうございました。

0 コメント :
コメントを投稿

Related Posts Plugin for WordPress, Blogger...