「ID」と呼ばれるインデックス付きのvarchar2列を持つOracleテーブルを作成しました。
私が使用しているソフトウェアは、このテーブルを読んでいるが、その代わりにOracle: 'N'関数を使用したクエリ - どのデータ型を使用する必要がありますか?
select * from table_name where ID='something'
ようなクエリを実行するのには、いくつかの原因になっている
select * from table_name where ID=N'something'
(値の前に余分な「N」を気づく)ん種類の文字変換。
問題は、最初のクエリで範囲スキャンが実行されている間に2番目のクエリが完全なテーブルスキャンを実行していることです。
このソフトウェアが実行しているクエリを変更することはできません。なぜなら、 'N'関数によって実行される変換がフルテーブルスキャンを意味しないように、varchar2の代わりにどのデータタイプを使用する必要がありますか?
ご回答いただきありがとうございます。 –