首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle:对数百万行进行统计的最快方法?

Oracle:对数百万行进行统计的最快方法?
EN

Stack Overflow用户
提问于 2012-12-06 18:30:46
回答 2查看 194关注 0票数 1

我开发了一个应用程序,允许用户输入测量值-这些测量值存储在Oracle数据库中。每个度量“会话”可以包含大约100个度量。在一个“批”中可能有大约100个测量会话,所以每批有10,000个测量。在某一时刻,可能很容易有大约1000个批次,使总测量数量达到数百万次。

问题是需要对测量值执行计算和统计。它的范围从每个批次的平均测量到过去6个月测量的统计数据。

我的问题是:有什么方法可以让计算这些统计数据的过程更快吗?是通过我运行的查询类型还是通过数据库的结构?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-31 22:25:28

不幸的是,由于需要执行的计算数量并不限于少数,我无法在每次测量会话结束时计算它们。

最后,查询并没有花费那么长的时间--大约3分钟来计算所有的统计数据。对于终端用户来说,这仍然是一个不可接受的长时间等待,但好消息是统计数据不一定要完全最新。

因此,我使用了一个物化视图来获取统计数据的“快照”,并将其设置为每天凌晨2点进行自我更新然后,当用户从物化视图请求统计数据时,它是即时的!

票数 0
EN

Stack Overflow用户

发布于 2012-12-06 19:30:00

我假设大多数计算将在单个会话或单个批处理上执行。如果是这种情况,那么重要的是不要将会话和批处理分布在整个磁盘上。

为了实现所需的数据集群,您可能希望创建一个按批处理和会话组织的按索引组织的表(IOT)。这样,属于同一会话或同一批的度量在磁盘上更紧密地集中在一起,并且对会话或批的查询将被限制为少量的磁盘页。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13741677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档