30万件のlike検索はXServerでも遅かった

先日あるプログラムを見直していたところ、30万件以上のレコードについて、like 検索をかけている箇所を発見しました。Like 検索は線型検索なので、件数が多いほど不利になります。実際、SQL の実行にXServer でも30秒くらいかかります。

今回欲しいのは分類記号とその番号のみだったので、記録中に別途切り出して保存するようにし、INDEX をつけました。また、アクセスされる URL パターンはいくつかありますが、ほぼ一定だったため、こちらも INDEX をつけてみました。

結果的に検索速度が1秒以内で返るようになりました。Like 検索を書くときは気をつけよう。

投稿者について
みのしす

小さいときは科学者になろうとしたのに、その時にたまたま身に着けたプログラミングで未だに飯を食っているしがないおじさんです。(年齢的にはもうすぐおじいさん)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です