タグ

mysqlとindexに関するyukungのブックマーク (2)

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • Programming.log, [MySQL][EXPLAIN] typeフィールドの見方

    2014-09-09 [MySQL][EXPLAIN] typeフィールドの見方 mysql explain クエリの実行速度が速いものから順に紹介していく。 constテーブルで一致するレコードが1つで、クエリ開始時によみこまれるとconstになる。 テーブルを一度しか読み取らないので、typeフィールドに表示される値のなかで 最も速い。 PRIMARY KEYやUNIQUE INDEXが使用された場合に表示される。 eq_refJOIN や =演算子 でテーブルを結合した場合に、constと同じ条件(PRIMARY KEYかUNIQUE INDEXが使用される)の場合に表示される。 refテーブル結合で、インデックスの左端の先頭部分のみが結合で使用された場合、 または PRIMARY や UNIQUE ではないインデックスが使用された場合に表示される。 = または <=> 演算子で比較

    Programming.log, [MySQL][EXPLAIN] typeフィールドの見方
  • 1