パフォーマンスの観点から、これらのクエリは同一です。
UNION ALL
Oracle
なので、パフォーマンスを損なうことはありません UNION
を推定します 必要な場合にのみクエリを実行し、最初に結果をキャッシュしません。
SELECT
SELECT
をより簡単に操作できるという意味で、構文はより柔軟です。 何かを変更したい場合はクエリを実行します。
たとえば、次のクエリ:
insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
select 8000,0,'Multi 8000',1 from dual
union all select 8001,0,'Multi 8001',1 from dual
次のように書き直すことができます
INSERT
INTO pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
SELECT 7999 + level, 0, 'Multi ' || 7999 + level, 1
FROM dual
CONNECT BY
level <= 2
2
を置き換える 適切な数を使用すると、必要な数の行を取得できます。
INSERT ALL
の場合 、宛先テーブルの説明を複製する必要があります。たとえば、40
が必要な場合は、読みにくくなります。 行。