请教一个Oracle数据库查询变慢的问题!!!

windrik 2013-09-03 06:29:17
环境: Windows 2003 server
Oracle 9i
Weblogic 8
硬件:IBM x346服务器
CPU:Xeon 3GHz 双CPU
内存:1GB DDR2
现象:有套应用在服务器上跑,2006年上线,最近一年用户称在查询显示结果时缓慢,要等待数分钟,
将查询的SQL语句直接在数据库里查询也是十分缓慢。

原以为是因为相关表内的数据过多导致,经用户同意,备份数据库后,将2013年之前的数据删除。
重启服务器和数据库,未开放用户访问的情况下,测试做同样的查询操作,只要15秒出结果。
开放用户访问,使用一段时间后,再次做同样的查询操作,又变得和原来一样显示查询结果缓,
直接在数据库里执行该sql 语句也要125秒以上才能显示结果(该SQL语句是对一个视图的查询
,该视图只涉及到两个表,查询出来的结果只有900条记录)
调整了SQL语句查询条件的位置,可以使查询时间缩短40秒,但是还是没有达到用户的期望值。

问题: 1.是否是因为多用户访问应用导致数据库的查询效率降低?
2.是否可以通过优化SGA和PGA来提高数据库的查询性能?
3.是否需要升级服务器的内存或其他硬件,再配合优化SGA和PGA来提高数据库的查询性能?
4.有人建议直接换oracle11G,换了之后能否解决查询数据的性能?
...全文
150 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
youqi1984 2013-09-03
  • 打赏
  • 举报
回复
查询条件 建索引。 ------------------------- 直接在数据库里执行该sql 语句也要125秒以上才能显示结果 ------------------------------------------- 说明Sql语句本身有问题的。看执行计划,分析出什么地方耗时。
  • 打赏
  • 举报
回复
你说的这些原因都有可能,要给出数据才好分析吧,以下引自itpub的: 现象正常,需要对数据库进行优化操作。 主要是三大部分,一是操作系统一级的,二是数据库一级的,三是SQL一级的。 先使用一些分析工具,找出瓶颈在什么地方,然后进行有针对性的优化。 比如说磁盘I/O的竞争,交换,内存,数据库的参数设置,表、索引的碎片,表空间的碎片,具体SQL的执行效率等等,涉及的因素很多。
请叫我-雷人 2013-09-03
  • 打赏
  • 举报
回复
引用 2 楼 youqi1984 的回复:
查询条件 建索引。 ------------------------- 直接在数据库里执行该sql 语句也要125秒以上才能显示结果 ------------------------------------------- 说明Sql语句本身有问题的。看执行计划,分析出什么地方耗时。
顶。靠谱

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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