MySQL のパフォーマンス問題に遭遇。
テーブルにカラム値が NULL であるレコードが大量に(=50万件)
登録されていたとする。NULL でないレコードも50万件くらいある。
カラムに対して create index でインデックスを張っておく。次の SQL 文を実行してみると、非常に遅い。
select * from TABLE where COLM is null
次の SQL 文は速い。
select * from TABLE where COLM is not null
select * from TABLE where COLM>100
MySQL は NULL 値が大量にあると is null 関数に対して
インデックスをあまり使わなくなるのだろうか?
2008年12月28日
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/24874718
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/24874718
この記事へのトラックバック
単純な B-trees というわけではないらしい。
困ったなあ。自分で作るしかないかなあ。