请教大家一个问题,同样一条sql语句,在不同的oracle库里查询,速度差别很大,分别是4s和0.06s,我看了下,都建了索引,但是看了下表结构,看到一个initial参数,查得快的表initial是根据表里数据量的大小不一样的,查得慢的那个都是64k,我想问下这个会不会影响查询性能啊?如果是,那要改怎么办啊?

解决方案 »

  1.   

    如果sql语句对应的执行计划也一样,那就只能是硬件的问题了,一个很简单的例子,同样的奔驰,在高速公路上肯定会比在土路上跑的快。
      

  2.   

    其实我检查了就一个不一样,但是人家说不影响,是storage里的initial参数不一样
      

  3.   

    数据库参数一样么?
    MBRC对比一下
      

  4.   

    LZ可以在每个库里建个同样的表,塞入同样的数据,建立同样的索引,在同时查下,如果仍然一个慢一个快我想就不是initial参数,而是机器硬件的问题了
      

  5.   

    Oracle还是有很多参数可以优化的
      

  6.   

    加PGA内存,加SGA内存,说白了就是减少IO,尽量让操作在内存进行,
    看看数据是不是碎了,将涉及的表重新导导,让数据连续起来。自己去查查 v$sql v$session 视图,每一条SQL的物理读写情况,排序情况,CPU时间,等待时间都写在里面呢,
    分析分析就知道了。