我一直在开发一个mysql数据库,其中一个最重要的具有database的表将在9亿到1000亿条记录之间。我可以执行以下查询:
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发布于 2012-08-16 06:16:38
您需要创建综合索引variable_VAR_ID + SEN_ID
注1:不是两个独立的索引,而是一个复合索引
注2:是的,顺序很重要
PS:下面是如何创建索引的语法描述:http://dev.mysql.com/doc/refman/5.5/en/create-index.html
https://stackoverflow.com/questions/11978118
复制相似问题