如何在多个分区上进行SQL选择?

Yus*_*ufk 13 sql oracle database-partitioning

有没有比以下更有效的方式:

select * from transactions partition( partition1 ) 
union all 
select * from transactions partition( partition2 ) 
union all 
select * from transactions partition( partition3 ); 
Run Code Online (Sandbox Code Playgroud)

Jus*_*ave 15

在查询中使用PARTITION(partitionN)语法应该非常罕见.

您通常只想指定分区键的值,并允许Oracle执行分区消除.例如,如果您的表每天基于TRANSACTION_DATE进行分区

SELECT *
  FROM transactions
 WHERE transaction_date IN (date '2010-11-22', 
                            date '2010-11-23', 
                            date '2010-11-24')
Run Code Online (Sandbox Code Playgroud)

将从今天的分区,昨天的分区和分区的前一天选择所有数据.