sql - 优化并重新编译 Oracle 中的提示?

标签 sql oracle11g query-hints

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/

相关文章:

sql - 甲骨文 : Sort a list on second word in SQL Query?

oracle - ORA-00942。但是表存在于 DBA_TABLES 和 DBA_OBJECTS

sql-server - 让SQL Server使用索引查找+键查找代替聚集索引扫描,不使用WITH (FORCESEEK)

Oracle 将 Select Union All 转换为 Parallel Select

mysql - MySQL 中的正则表达式被误解

mysql - 授予所有特权的逆

mysql - 尝试使用两个连接来查找sql​​中不常见的数据

java - Mysql 事务和 RabbitMq

oracle - 监控索引使用情况

sql - 选项(重新编译)总是更快;为什么?