我最近在oracle9i上进行大概10G数据的查询,发现很慢,大概要两分钟;而我在oracle8.1.7上进行实验,查询却很快,只要15秒。我不知道是什么原因。我的两种实验环境如下:
1. ibm 服务器 2G内存,windows2Kserver+oracle9.2.0.1
oracle数据文件放在四个盘上共20多个数据文件(因为数据可能很大),一个表数据是570 0000 行,查询很慢,大概要两分钟。(oracle SGA PGA 我己调整为大概一个G)2. 普通pc机,2.4PIIII 256M windows2000 +oracle8.1.7
oracle 数据文件放在一个盘上只有一个数据文件,上的表数据是一样的,也是570 0000 行,查询却很快,只要15秒。
请教高手,为什么这里查询的响应时间差距这么大,跟oracle,操作系统的设置有关吗,还是什么原因,望高手指点。
1. ibm 服务器 2G内存,windows2Kserver+oracle9.2.0.1
oracle数据文件放在四个盘上共20多个数据文件(因为数据可能很大),一个表数据是570 0000 行,查询很慢,大概要两分钟。(oracle SGA PGA 我己调整为大概一个G)2. 普通pc机,2.4PIIII 256M windows2000 +oracle8.1.7
oracle 数据文件放在一个盘上只有一个数据文件,上的表数据是一样的,也是570 0000 行,查询却很快,只要15秒。
请教高手,为什么这里查询的响应时间差距这么大,跟oracle,操作系统的设置有关吗,还是什么原因,望高手指点。
解决方案 »
- ORA-09925: Unable to create audit trail file
- Oracle 安装问题!
- sqlplus spool一个文件的时候由于生成文件过大,如何分文件
- FC5下安装oracle9i的问题,急!!!
- 求一触发器、存储过程写法,由SQL的转ORACLE的触发器。。。急。。。。
- 关于触发器的简单问题
- 外连接时on子句的一个小问题
- PL/SQL中有没有将全角转化成半角的函数?(马上给分)
- 咨询简单问题
- 有一段SQL语句,在PLSQL上可以执行,为什么VS上出现了ORA-00923: 未找到要求的 FROM 关键字
- 如何在登录触发器中获得当前会话的id
- 建立索引的一些疑问???
tkprof 看你的select 的执行情况
index 设计了吧 analyze 没有
1.网络性能2.操作系统和硬件性能3.数据库自身性能优化包括SQL语句优化、合理建立索引、性能分析和调优4.最好能分析瓶颈在何处,大表要分区提高性能
一个表数据文件,同样的数据,数据上好后,直接查询大概要3分钟, 对数据和索引作分析后,查询速度比较好,大概19秒。但一旦重新启动服务器,就又不行了,查询又是3分钟。重新对索引作分析查询速度又好了(19秒)。 按理说,给索引做的分析结果应该放在数据字典中能够存起来,为什么oracle9i不行呢?
同样在oracle8.1.7中不存在这个问题(查询一直是15秒左右)。所以结合上面的实验我觉得问题在服务器上,oracle9i中怎样实现将索引的分析结果存入数据字典并长期有效,这是我个人的一点看法。希望高手们能多加指点。
看你的对表的分析是否还在 应该在的
不行你还可以用dbms_stats.set_table_stats给表设置分析数据
2 ibm 服务器和普通pc对数据库的设置是否一样,大表的数据文件是否在不同的磁盘上,并对表都有Index?