Oracle 中是否有任何提示与这些 SQL Server 提示的工作方式相同?
重新编译:查询每次运行时都会重新编译(如果执行计划因参数而异)。与 Oracle 中的 cursor_sharing 相比,这是最好的吗?
优化:当您希望计划针对某个参数进行优化时,即使在第一次运行 SQL 时使用了不同的参数?我想也许 cursor_sharing 也能有所帮助?
最佳答案
因为您使用的是 11g,Oracle 应该使用 adaptive cursor sharing默认。如果您有一个使用绑定(bind)变量的查询,并且带有倾斜数据的列上的直方图表明不同的绑定(bind)变量值应该使用不同的查询计划,Oracle 将自动为同一个 SQL 语句维护多个查询计划。无需特别提示查询即可获得此行为,它已经嵌入到优化器中。
关于sql - 优化并重新编译 Oracle 中的提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5088202/