MySQLの処理が遅いので調整

管理画面の絞込み検索で、一部の検索条件を選択したときに、検索結果が返るのが異常に遅い。

該当するsql文だけ、完了まで20秒近くかかる。

さんざん調べて、結局、時間がかかってるカラムにindexを設定して、解決(まだ少し遅いが)

学習したこと>

・動きが遅いsqlには、explain select ~ で、クエリの実行計画を見るように。今回はある個所だけ3000近いデータを走査していたところがわかった。で、それに、indexがはられていなかった。

・長いsql文は、ひたすら分解して、どこがボトルネックかあたりをつける。

・create index インデックス名 on テーブル名(カラム名) インデックス作る。

・サブクエリはIN句より、EXISTS句のほうが早い、らしい。

参照>

http://www.geocities.jp/mickindex/database/db_optimize.html#LocalLink-index

http://www.postgresql.jp/blog/71

MySQLのEXPLAINを徹底解説!!

参考図書>

「基礎からのMySQL」

スポンサーリンク

シェアする

フォローして更新を受け取る

スポンサーリンク