如何在 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
列上可能拥有的任何索引)。
结果当然是一样的。如果使用索引改变了结果,那会使它们变得毫无用处。
我对在 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
列上可能拥有的任何索引)。
结果当然是一样的。如果使用索引改变了结果,那会使它们变得毫无用处。