有三张表如果用nested连接速度很慢,在单独执行语名加入了优化注释/*+use_hash(a,b,c)*/,优成功速度很快,可将这个回注释的sql语句放在存储过程时却不起作用,请问这是为什么?

解决方案 »

  1.   

    已经测试出为什么在存储过程中不能用了,变态的oracle!如果在sql单独执行加/*+use_hash(a,b,c)*/,在select语句中可以起作用,要想在存储过程中起作用则需要用/*+ use_hash(a,b,c)*/,看出来有什么区别了没?单单只增加了一个空格就能用!真是变态啊,啊啊~~~~~~~~~
      

  2.   

    没试过,但我想应该不是这样的问题,你可以用动态sql