在Oracle中优化和重新编译提示?

时间:2011-02-23 07:44:06

标签: sql oracle11g query-hints

Oracle中是否有与这些SQL Server提示相同的提示?

重新编译:每次运行时都会重新编译查询(如果执行计划应根据参数的不同而有很大差异)。与Oracle中的cursor_sharing相比,这会是最好的吗?

优化:当您希望计划针对某个参数进行优化时,即使在第一次运行SQL时使用了另一个参数?我想也许可以通过cursor_sharing帮助吗?

2 个答案:

答案 0 :(得分:2)

我不知道,但找到了一些解决方案here on forums.oracle.com

的讨论

答案 1 :(得分:2)

由于您使用的是11g,Oracle默认情况下应使用adaptive cursor sharing。如果您有一个使用绑定变量的查询,并且具有倾斜数据的列上的直方图指示不同的绑定变量值应使用不同的查询计划,Oracle将自动为同一SQL语句维护多个查询计划。没有必要专门提示查询以获取此行为,它已经在优化器中出现。