mysqlのインデックスについて質問です。こんにちはゲストさん。>>解決済みの質問mysqlのインデックスについて質問です。mysqlのインデックスについて質問です。『mysqlでは1つのクエリ実行で、1つのテーブルにつき1つのインデックスしか使用できない』とあります。(`user_id`),のようにもできますが、INDEXとKEYの違いは何かあるのでしょうか。古いMySQLなら"1つのクエリで1テーブルにつき1インデックスしか使われない"というのは正しいです。新しいMySQL(ver.5.0以降)ならインデックスマージが行われるので、もし複数のIndexが使えるとオプティマイザが判断をした場合には、複数のインデックスが使われます。KEYであるidカラムで1行のみに絞り込めます。KEYを使って対象の1行を取り出してから"指定されたuser_idと一致するかどうか判断する"という最適化をオプティマイザが判断してしまうとuser_idのインデックスは利用されません。検索条件に完全に一致したインデックスが無くても、対象行の絞込みが行える場合には、オプティマイザはインデックスを利用して対象行の絞込みを行ないます。インデックスで絞り込んだ中から条件に一致した結果を返すので、インデックスだけで絞り込んだ場合より多少遅くなりますが、まったくインデックスが無かった場合より早く結果を返せます。複合カラムインデックスは、初めのカラムだけが条件に指定された場合でも有効に活用されますので、検索条件次第ですが、同じカラムの並びでインデックスを複数作成する必要はありません。http://dev.mysql.com/doc/refman/5.1/ja/mysql-indexes.htmlインデックスを大量に作成すると更新時の処理が重くなるので、更新と参照のバランスを考えて必要なインデックスを作成してください。"INDEXとKEYの違いは?"については、同じINDEX作成用の定義文なので、好みにあわせて好きなほうを使ってもらってかまいません。MySQLバージョン4.1.16を使用しています。このジャンルでお願いします。いつもお世話になっております。以下のようなテーブルがあります。MySQLについて質問があります。下記のような2テーブルがあります。このジャンルでお願いします。Reserved.掲載情報の著作権は提供元企業等に帰属します。