Avi*_*Avi 1 oracle performance data-warehouse query-optimization
我有一个表财务(列:日期,月份,季度,amount_usd,col1,col2,col3).
只是查询......
select sum(amount_usd) from finance
group by date
Run Code Online (Sandbox Code Playgroud)
......需要7秒
select sum(amount_usd) from finance
group by month
Run Code Online (Sandbox Code Playgroud)
......需要6秒
select sum(amount_usd) from finance
group by quarter
Run Code Online (Sandbox Code Playgroud)
......需要5秒
所以我想到了数据仓库
我创建了时间维度和层次结构
现在我卡住了......
什么是我的事实表?以及如何从事实表中查询数据?
这可能是一个非常基本的问题.但我是新手.
谢谢
"所以我的简单查询是花时间考虑拥有数据仓库概念......"
七秒钟并不慢.至少,不需要"需要数据仓库".数据仓库是一种战略(通常是企业级)环境,而不是一种调整技术.
但是,我同意,等待屏幕刷新的OLTP用户可能会感到恼火.您需要做的是调整查询.你说你有索引:但是如果你要整理整个FINANCE表,那么你可能不想使用索引.如果您拥有Enterprise Edition许可证和具有备用容量的多个CPU,那么并行查询可能是更好的主意.
如果您每天多次运行这些财务查询,您可以从预先聚合中获得一些好处,但似乎不太可能减少经过的时间来证明维护物化视图的开销.