如何在 Oracle 中使用提示 FULL 进行全部计数

How to use the hint FULL for a count all in Oracle

我对在 oracle 中使用提示优化器的概念很陌生,我想了解我是否正确使用了提示 FULL

我有一个问题

SELECT COUNT(*) FROM MyTable
WHERE MyTable.name='RandomName' 

假设结果是 12345

现在如果我想使用提示 FULL,下面应该这样写吗?

SELECT /*+ FULL(e) */ count(*) 
FROM MyTable e
 WHERE MyTable.name='RandomName' 

结果也是12345正常吗?

谢谢

是的,这就是向 Oracle 指定提示的方式。在这种情况下,它应该会导致完整 Table 扫描(不使用您在 name 列上可能拥有的任何索引)。

结果当然是一样的。如果使用索引改变了结果,那会使它们变得毫无用处。