数据库大概有10000000万数据,要写SQL对这1千万数据进行分组group by和sum 统计,怎么才能提高脚本的效率,可以从多个角度去分析,急!
解决方案 »
- 关于分析函数OVER(PARTITION BY)的困惑
- 急救oracle数据如何回复
- 在TOAD中如何查看 函数 的返回值,(界面操作)
- oracle在redhat下进行silent安装,那么rsp文件只能手动编辑么?能不能通过一种方式生成啊?
- 选课系统中『上课时间』怎么调整?
- 当安装完oracle8后,我用enterprise manager提示我用户名,密码,服务是什么?
- 当并发用户数多时,如何修改init.ora文件?
- 已经实现了应用程序不装oracle客户端连接oracle服务器,但还有个问题,大家看看。
- 用ADO存取Oracle的CLOB字段问题
- 初学者的问题
- 在windows中和linux系统在oracle中使用datediff的问题
- pl/sql Home End问题
索引和分区表是需要的.
如果不是时时需要数据的话,可以利用空闲时间去计算然后存储起来.
个人意见,没弄过这么大的数据量
存储过程mdx要钱啊
并且在查询的时候提示oracle使用并发。
如果这个查询是对全表进行,那么索引就没有必要了。
如果是在多个表中,并且各个表的数据量差不多,建议连接方式用merge_join。
最好删掉索引。索引只是在提取部分数据时才有用,像这样对整个表进行提取分析的情况,索引反而可能降低速度。至于多维数据集方面的内容,那是数据仓库的分析服务层要做的事,与数据库层关系不大,
数据仓库只要做好各个“维度”与“事实”就好了(主要还是对业务的梳理),
最好是所有的外键关联都做好,但好像这是不可能的,
生产环境中总是有一些异常数据,如果建了外键,就会有很多数据在抽取时丢失,
所以数据源视图总是在分析服务中。
这与速度关系不大。
就是写触发器,在对表进行dml操作的时候,将汇总数据写到其他表中,而不是在执行检索时才汇总数据