LIKE 述部には、ほとんどの場合にリテラル定数やホスト変数がパターンとして使用されます。パターンによっては、オプティマイザが LIKE 述部全体を書き換えたり、対応するテーブルに対するインデックス検索の実行に利用できる追加条件を追加したりする場合があります。LIKE 述部の追加条件では LIKE_PREFIX 述部が使用されます。LIKE_PREFIX 述部はクエリで直接指定することはできませんが、クエリ・オプティマイザによって最適化が適用できるときに長いプランやグラフィカルなプランに表示されます。
次のそれぞれの例で、LIKE 述部のパターンがリテラル定数またはホスト変数であり、X がベース・テーブルのカラムであると仮定します。
X LIKE '%'
は X IS NOT NULL
に書き換えられる。
X LIKE 'abc%'
は LIKE_PREFIX 述部に拡大される。これは検索引数可能 (インデックスの検索に使用可能) な述部で、X の値が abc で始まる必要があるという条件を適用します。LIKE_PREFIX 述部では、マルチバイト文字セットと、ブランクが埋め込まれたデータベースで正しいセマンティックが適用されます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |