レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

SQLで関数を使った絞込みはインデックスが使われない。

SQLServerにて、非クラスタドインデックスを使ってるとき
以下の2つのクエリは、Likeを使った検索の方が高速だ。

select *from dbo.Expenses where studentcd like '%00'

select *from dbo.Expenses where right(studentcd,2) = '00'

これは、関数を使うと非クラスタドインデックスが使われないことが原因。