0

我一直在研究 mysql 数据库,拥有数据库的最重要的表之一将在 900 到 10 亿条记录之间。我能够做这个查询:

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:是的,顺序很重要

PS:这里是如何创建索引的语法描述:http: //dev.mysql.com/doc/refman/5.5/en/create-index.html

于 2012-08-15T22:16:38.383 回答