首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优化这个select查询?(MySQL)

如何优化这个select查询?(MySQL)
EN

Stack Overflow用户
提问于 2012-08-16 06:15:03
回答 1查看 425关注 0票数 0

我一直在开发一个mysql数据库,其中一个最重要的具有database的表将在9亿到1000亿条记录之间。我可以执行以下查询:

代码语言:javascript
复制
select MAX(SEN_ID) as SEN_ID from senal group by variable_VAR_ID

但是大概需要12分钟。如何优化此查询?

这个查询在数据库小的时候工作得很好,但是现在数据库中有数百万行,我意识到我应该更早地优化它。

在EXPLAIN中执行查询显示如下:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11978118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档