3张表 ,查询半小时每张表数据量如下:

解决方案 »

  1.   

    看看oracle执行计划,估计没有有效索引,全表扫描,但根据你提供的信息,数据量不大,先建所以试一试 所以包括:a 表增加索引zhdh,b表增加zhdn,c表增加索引kh,a表建索引kn
      

  2.   

    直接用use_hash提示不要用任何索引,铁定不会跑半个小时,除非你的服务器磁盘烂的不要不要的……
      

  3.   

    select /*+ use_hash(a,b) use_hash(a,c) */ from xxx.....
      

  4.   

    1.确认下你的关联条件是一对一还是多对多;
    一对一情况
    2.查看执行计划,如果条件1是一对一的话这条sql跑的慢肯定是走了嵌套;
    3.收集下统计信息sql执行就正常了,或者像楼上说的加提示 /*+ use_hash(a,b,c) */
    一对多或者对对多
    4.可以先汇总后关联