管理ガイド> TDV構成オプション> 大文字と小文字の区別と末尾のスペースの設定の構成> クエリの大文字と小文字と末尾のスペースの動作の構成
 
クエリのケースとトレーリングスペースの動作の構成
クエリオプションを使用すると、個々のクエリの大文字と小文字と末尾のスペースの動作を制御できますが、大文字と小文字の区別と末尾のスペースの設定を変えて多数のデータソースを使用すると、予測できない結果が生じる可能性があります。
クエリオプションはCASE_SENSITIVEとIGNORE_TRAILING_SPACESで、SELECT、INSERT、UPDATE、およびDELETEで使用できます。説明については、TDVリファレンスガイドの「TDVクエリエンジンオプション」トピックを参照してください。
注:これらのクエリオプションは、TDV構成パラメータ設定を上書きします。
たとえば、次のSQLステートメントを送信します。
SELECT v1.balance FROM accounts v1
WHERE v1.account_name = 'bob'
 
TDVがこの構文を大文字と小文字を区別するデータベースに送信する場合、TDVは、名前に小文字の「bob」が含まれるアカウントのみを取得することを想定しています。 TDVがこの構文を大文字と小文字を区別しないデータベースに送信する場合、TDVは、大文字と小文字の任意の組み合わせで「bob」を使用してアカウントを取得することを想定しています。
データベースで大文字と小文字が区別されることがわかっていて、大文字と小文字を区別しない比較が必要な場合は、次のコマンドを送信してください。
SELECT v1.balance FROM accounts v1
WHERE UPPER(v1.account_name) = UPPER('bob')
 
同じことがTDVにも当てはまります。ただし、TDVで大文字と小文字が区別されないで、基になるデータベースで大文字と小文字が区別される場合、TDVは基になるデータベースに送信されるSQLにUPPER関数を追加します。
注:これを行うと、既存のインデックスが無効になるため、新しいテーブルスキャンが必要になり、パフォーマンスに影響を与える可能性があります。
SQLクエリオプションを使用してケースとスペースを構成するには
1. パフォーマンスに最も影響を与えているクエリを特定します。
2. SQLクエリオプションを使用して、そのクエリの構成設定を上書きします。