Tips!
 

■対象バージョン : 7.0.x, 8.0.x, 9.0.x

■対象OS :全て

ST0601052

検索引数(sargable)

Tips!

WHERE 句、HAVING 句、または ON 句に記述する条件式を「述部」といいます。
述部は単体、または論理演算子 AND や OR と組み合わせて使用されます。

この述部の中でも、テーブルからローを取り出すためにインデックスを利用することができる述部を「検索引数(sargable)」といいます。

述部が検索引数であるかどうかは条件式の記述に依存します。

次に示す各例では、属性 x と y は、単一テーブルのそれぞれのカラムです。属性 z は、別のテーブルに格納されています。このような属性のそれぞれにインデックスが 1 つ存在することが前提です。

検索引数

非検索引数

x = 10

x <> 10

x IS NULL

x IS NOT NULL

x > 25

x = 4 OR y = 5

x = z

x = y

x IN (4, 5, 6)

x NOT IN (4, 5, 6)

x LIKE 'pat%'

x LIKE '%tern'

x = 20 - 2

x + 2 = 20

述部が非検索引数である場合、カラムにインデックスがあっても、そのインデックスは使用されませんので、述部の記述方法に注意して、可能であれば検索引数になるように書き換えて下さい。



BACK:Tips! トップページ
 
 
Copyright 2005-2010 iAnywhere Solutions K.K.