现在有两台服务器,一台安装的是Windows XP系统,Oracle9i数据库,另外一台安装的是Windows Server2008,Oracle10g数据库。两台服务器的硬件都没有问题,内存足够大。
    我在同一台远程客户端使用C#通过存储过程向这两个数据库写数据,表结构和插入内容一摸一样,我使用循环插入了10000条数据,在Oracle9i的数据库上耗时10s左右,但是在Oracle10g数据库却耗时40s,有时甚至接近两分钟。
    同样的代码,同样的数据,理论上Oracle10g应该更快才对啊,怎么会差距这么大呢。
    希望各位不吝赐教。

解决方案 »

  1.   

    跟client端关系不大,还是跟server端oracle的基本配置情况有关。更何况一个是xp,一个是server2008。资源消耗情况也是不大相同的。你最好对比一下两个server下oracle的配置参数。
      

  2.   

    是不是 根据 你两个安装版本的oracle 服务库,参数设置不同,比如:共享池等,只是猜测啊。。
      

  3.   

    补充一点,远程客户端安装的Oracle9i的简易客户端,不知道这个有没有影响
      

  4.   

    相同的程序写成procedure,再直接到9i和10g中运行,看看速度如何?
      

  5.   

    最后,我调大了redo log的大小,时间快了很多,但整体上还是没有9i的快。总之,问题告一段落。谢谢大家的关注。