Symfoware Serverで行単位の排他を利用し、占有モードにNO LOCKを指定した場合の、検索結果について

行単位の排他を行う環境で、SELECT文の占有モードにNO LOCKを指定した場合、検索条件にインデックスのキーとなるカラムを指定した場合と指定しない場合とで、検索結果が異なります。これはなぜですか?
占有モードにNO LOCKを指定した場合、または独立性水準にREAD UNCOMMITTEDを指定した場合、ほかのトランザクションが更新して、まだコミットしていないデータを参照することができます。
また、行単位の排他を行う場合、インデックスの更新はコミット時に行われます。
この結果、インデックスを利用しない検索では更新後のデータを参照することになりますが、インデックスを利用する検索では更新前のインデックスを使うため、更新後のデータは参照されないことになります。
このような現象を避けるためには、占有モードや独立性水準をNO LOCKやREAD UNCOMMITTED以外に変更してください。
製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 技術サポート
このページの先頭へ