先日あるプログラムを見直していたところ、30万件以上のレコードについて、like 検索をかけている箇所を発見しました。Like 検索は線型検索なので、件数が多いほど不利になります。実際、SQL の実行にXServer でも30秒くらいかかります。
今回欲しいのは分類記号とその番号のみだったので、記録中に別途切り出して保存するようにし、INDEX をつけました。また、アクセスされる URL パターンはいくつかありますが、ほぼ一定だったため、こちらも INDEX をつけてみました。
結果的に検索速度が1秒以内で返るようになりました。Like 検索を書くときは気をつけよう。
コメントを残す