怎样来实现数据库的sql的调优? 优化性能

Arias 2006-02-15 08:10:53
在设计的统计查询的有关sql中,由于数据量的增大,现在数据统计的结果显示很慢了。
在100000条数据的时候,设计的sql还能满足显示的要求,得出数据在7s内, 但是现在
数据量增加到了 1000000条的时候,sql的查询很慢 了! 一个显示需要 100~200s,这样的
性能太差 了, 不知道显示对这种海量的数据统计一般采用什么样的方法实现的,希望指点!

现在我们已经针对sql做做了一些优化,建立了index,基本的sql的优化等,不知道是否还有其他的方法呢?

也希望有这种海量数据统计的同仁们能介绍一下你们实现统计的经验!!
...全文
255 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
icedut 2006-02-23
  • 打赏
  • 举报
回复
http://www.cnoug.org/forumdisplay.php?fid=3
ORACLE技术中国用户讨论组 » Oracle调优与深入

精华 II: 一篇关于oracle优化的文档 ( 1 2 3 4 )
精华 I: 通过分析SQL语句的执行计划优化SQL(总结) ( 1 2 3 )
...
lz可以参考一下
kuailexq2000 2006-02-22
  • 打赏
  • 举报
回复
看执行计划,where 部分是不是可以避免扫描全表
数据多的时候索引没有好处,你去掉试一下
kmwy 2006-02-17
  • 打赏
  • 举报
回复
通常如果表里的记录太多的话,需要对该表收集一下统计信息,这样oracle才能得到最优的执行计划。根据我的实际经验,如果没有统计信息,oracle通常采用nest loop的方式连接查询,而又统计信息时,oracle对大表采用hash join的方式进行连接,这样会快很多。
wbdx 2006-02-16
  • 打赏
  • 举报
回复
mark
neil1998 2006-02-16
  • 打赏
  • 举报
回复
如果是可以根据地市或者月份分区的数据就会较快;
另外建索引也不能太多,要合理,如果能保证唯一性的也会比其他要快
Arias 2006-02-16
  • 打赏
  • 举报
回复
多谢各位的指点,现在有 :
A 1000000条
B 1000000条

由于A B表需要关联找出需要的数据,这样导致查询的速度很慢,现在已经建立了部分的
索引,但是查询一个select count(1) from A,B where ..
这样的sql都需要4分钟左右的,速度太慢了!
不知道有什么好的解决办法,现在一边希望能对sql进行优化,一般希望找其他的解决办法
希望各位继续指点! 谢谢!
bzszp 2006-02-16
  • 打赏
  • 举报
回复
具体问题具体分析
根据你的语句,看执行计划,分析原因,最后才是采取什么措施。
cenlmmx 2006-02-15
  • 打赏
  • 举报
回复
1. 查看各项参数的合理性,
比如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 还有很多....
子陌红尘 2006-02-15
  • 打赏
  • 举报
回复
分区,对于数据量大而导致查询效率不高的表,采用分区表策略是一个比较常用的手段。
oracle数据库性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是sql性能问题。本书是作者十年磨一剑的成果之一,深入分析与解剖oracle sql优化调优技术,主要内容包括: 第一篇“执行计划”详细介绍各种执行计划的含义与操作,为后面的深入分析打下基础。重点讲解执行计划在sql语句执行的生命周期中所处的位置和作用,sql引擎如何生成执行计划以及如何获取sql语句的执行计划,如何从各种数据源显示和查看已经生成的执行计划。 第二篇“sql优化技术”深入分析oracle的sql优化技术,包括逻辑优化技术和物理优化技术。用大量示例详尽分析oracle 中现有的各种查询转换技术,先分析oracle如何收集、统计系统和对象的数据,然后推导各种代价估算公式,给出各种情形下的代价计算演示。 第三篇“sql调优技术”深入剖析oracle提供的各项调优技术。先对语句实际运行的性能统计数据进行了深度分析,介绍各项统计数据是由什么操作导致的以及如何统计。然后介绍如何对sql语句进行优化以获得稳定、高效的性能。最后,依据对sql优化调优技术的分析,介绍如何快速优化sql的思路。 《oracle 高性能sql引擎剖析:sql优化调优机制详解》内容丰富且深入,破解了oracle技术的很多秘密,适合oracle数据库管理员、应用开发人员参考。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧