Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » クエリ処理 » クエリの最適化と実行 » セマンティック・クエリ変形

 

LIKE 述部の最適化

LIKE 述部には、ほとんどの場合にリテラル定数やホスト変数がパターンとして使用されます。パターンによっては、オプティマイザが LIKE 述部全体を書き換えたり、対応するテーブルに対するインデックス検索の実行に利用できる追加条件を追加したりする場合があります。LIKE 述部の追加条件では LIKE_PREFIX 述部が使用されます。LIKE_PREFIX 述部はクエリで直接指定することはできませんが、クエリ・オプティマイザによって最適化が適用できるときに長いプランやグラフィカルなプランに表示されます。

次のそれぞれの例で、LIKE 述部のパターンがリテラル定数またはホスト変数であり、X がベース・テーブルのカラムであると仮定します。

  • X LIKE '%'X IS NOT NULL に書き換えられる。

  • X LIKE 'abc%' は LIKE_PREFIX 述部に拡大される。これは検索引数可能 (インデックスの検索に使用可能) な述部で、X の値が abc で始まる必要があるという条件を適用します。LIKE_PREFIX 述部では、マルチバイト文字セットと、ブランクが埋め込まれたデータベースで正しいセマンティックが適用されます。