よりも効率的な方法があります:複数のパーティションでSQLをどのように選択するのですか?
select * from transactions partition(partition1)
union all
select * from transactions partition(partition2)
union all
select * from transactions partition(partition3);
よりも効率的な方法があります:複数のパーティションでSQLをどのように選択するのですか?
select * from transactions partition(partition1)
union all
select * from transactions partition(partition2)
union all
select * from transactions partition(partition3);
あなたのクエリでPARTITION(partitionN)構文を使用することを非常に稀である必要があります。
通常、パーティション・キーの値を指定して、Oracleでパーティションの削除を実行したい場合があります。あなたのテーブルは、例えば
SELECT *
FROM transactions
WHERE transaction_date IN (date '2010-11-22',
date '2010-11-23',
date '2010-11-24')
ためTRANSACTION_DATE、に基づいて毎日パーティション化されている場合は、今日のパーティション、昨日のパーティション、およびパーティションの前日からすべてのデータを選択することになります。
私は、Oracleが関連するパーティションへの検索を制限しているとは確信していませんでした。私は大量のテーブルを持っており、毎時間分割されたデータを照会する必要があります。ありがとう – Yusufk
追加のコンテキストを提供できますか?あなたの述語は何ですか?オプティマイザに複数のパーティションに対して明示的に指示する必要があると考えられる理由は何ですか。間違ったパーティションキーが使用されているなどがあります。
この場合、効率的な意味は何ですか?少ないタイピング?より速い結果? – EvilTeach
より速い結果。 – Yusufk