0

私はmysqlデータベースに取り組んできましたが、データベースを持つ最も重要なテーブルの1つは、9億から1億のレコードになります。このクエリを実行できません:

select MAX(SEN_ID) as SEN_ID from senal group by variable_VAR_ID

でも12分くらいかかります。このクエリを最適化するにはどうすればよいですか?

このクエリは、データベースが小さいときは正常に機能していましたが、データベースに数百万の行があるので、これを以前に最適化することを検討する必要があることに気付きました。

EXPLAIN内で実行されるクエリは、次のことを示しています。

id select_type table type  possible_keys key                key_len ref  rows     Extra
1  SIMPLE      senal index NULL          fk_senal_variable1 4       NULL 6333242  Using index
4

1 に答える 1

1

複合インデックスを作成する必要がありますvariable_VAR_ID + SEN_ID

注1:2つの分離されたインデックスではなく、1つの複合
注2:はい、順序は重要です

PS:インデックスを作成する方法の構文の説明は次のとおりです:http://dev.mysql.com/doc/refman/5.5/en/create-index.html

于 2012-08-15T22:16:38.383 に答える