在设计的统计查询的有关sql中,由于数据量的增大,现在数据统计的结果显示很慢了。
在100000条数据的时候,设计的sql还能满足显示的要求,得出数据在7s内, 但是现在
数据量增加到了 1000000条的时候,sql的查询很慢 了! 一个显示需要 100~200s,这样的
性能太差 了, 不知道显示对这种海量的数据统计一般采用什么样的方法实现的,希望指点!现在我们已经针对sql做做了一些优化,建立了index,基本的sql的优化等,不知道是否还有其他的方法呢? 也希望有这种海量数据统计的同仁们能介绍一下你们实现统计的经验!!
在100000条数据的时候,设计的sql还能满足显示的要求,得出数据在7s内, 但是现在
数据量增加到了 1000000条的时候,sql的查询很慢 了! 一个显示需要 100~200s,这样的
性能太差 了, 不知道显示对这种海量的数据统计一般采用什么样的方法实现的,希望指点!现在我们已经针对sql做做了一些优化,建立了index,基本的sql的优化等,不知道是否还有其他的方法呢? 也希望有这种海量数据统计的同仁们能介绍一下你们实现统计的经验!!
解决方案 »
- 谁能告诉我 set serveroutput on 怎么在PL_SQL里的 SQL窗口里用
- 如何查看其他用户的表内容
- 直接用代码可以执行,建成存储过程后,不能执行
- oracle启动报错.ORA-01033: ORACLE initialization or shutdown in progress
- Oracle 性能极具下降,CPU消耗近100%,求高人解决!!
- oracle连接问题
- 关于触发器的一个问题!!!
- C/S查询问题,不是太难,但是我不会:(
- 过滤重复记录
- 在oracle 7.3.3 中的导入、导出命令
- 简单的SQL语句,急用
- 请帮高手看一下如下代码在oracle8中运行有什么不对。谢谢!
比如order by.group by用的频繁,排序量大就要加大sort_area_size,尽量用内存排序而不是磁盘排序.
如果用了hash join,加大hash_area_size.
2. 看执行计划和优化模式,一般使用基于成本模式的select /*+ first_rows */ * from ...响应会快些.
3. 如果基于成本模式,要分析表和索引,这样可以让oracle得到更好的执行计划.
4. 加大db cache size
5. 采用分区表
6 还有很多....
A 1000000条
B 1000000条由于A B表需要关联找出需要的数据,这样导致查询的速度很慢,现在已经建立了部分的
索引,但是查询一个select count(1) from A,B where ..
这样的sql都需要4分钟左右的,速度太慢了!
不知道有什么好的解决办法,现在一边希望能对sql进行优化,一般希望找其他的解决办法
希望各位继续指点! 谢谢!
数据多的时候索引没有好处,你去掉试一下
ORACLE技术中国用户讨论组 » Oracle调优与深入 精华 II: 一篇关于oracle优化的文档 ( 1 2 3 4 )
精华 I: 通过分析SQL语句的执行计划优化SQL(总结) ( 1 2 3 )
...
lz可以参考一下