このような特定のオブジェクトについてテーブルをクエリすると、空の結果セットが返されます。
SELECT
a, b, c, valid_to, pk_mykey, myobject
FROM
myschema.mytable
WHERE
valid_to = to_date('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
AND
pk_mykey > 0
AND
myobject = 'ABC.123';
しかし、私はレコードがテーブルにある必要があることを知っています!
したがって、このクエリを使用すると、突然表示されます。
SELECT
/*+ NO_INDEX(mytable myindex) */
a, b, c, valid_to, pk_mykey, myobject
FROM
myschema.mytable
WHERE
valid_to = to_date('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
AND
pk_mykey > 0
AND
myobject = 'ABC.123';
インデックスを使用するとレコードは表示されませんが、インデックスがないと表示されますか? これはどのように可能ですか?ここで何が欠けていますか?テーブルやインデックスの何が問題になっていますか? どうすればこれを解決できますか?
(DBMS は Oracle 11g EE 11.2.0.2.0 64bit)