我正在运行一个简单的查询,它花费很长时间来执行结果:
Select MTL_CONTENT_LPN from reporting.DWH_FACT_INV_TRANSACTIONS
where to_char(MTL_TRANSACTION_DATE,'yyyymm')=(select to_char(Max(SYSDATE),'YYYYMM') from dual)
答案 0 :(得分:2)
为什么要将sysdate与double一起使用。
您需要按以下方式使用它。
Select MTL_CONTENT_LPN from
reporting.DWH_FACT_INV_TRANSACTIONS
where MTL_TRANSACTION_DATE between trunc(sysdate, 'MONTH') AND add_month(trunc(sysdate, 'MONTH'),1) - 1
通过使用where子句,MTL_TRANSACTION_DATE
上的任何索引将用于提高性能。
干杯!