【发布时间】:2014-11-16 17:03:07
【问题描述】:
我有一张包含几百万条数据条目的表格。 我正在尝试快速找到单个项目的每个组的最小值和最大值。
结构是这样的
- “GROUPC”VarChar 10
- “项目”整数
- “LogDT”日期时间
- 许多其他领域。
在“GROUPC”/“LogDT”上有一个索引,并且少于 10 个组。
当我请求一个 GROUPC/Item 最小值时,我会在 100 毫秒内得到快速响应
示例:第 59 项
select GROUPC, min(LogDT) from TABLE as T where T.Item=59 and t.GROUPC='GR1'
我需要所有组的最低要求。
select GROUPC, min(LogDT) from TABLE as T where T.Item=59 group by t.GROUPC
这可行,但需要 12 秒,尽管目前只有 3 个组。
获取组列表仅需 15 毫秒
select distinct GROUPC from TABLE
有什么想法可以将这两个请求组合成快速的东西吗?
【问题讨论】:
-
注明。我在代码中使用“GROUP”代替了该字段的真实名称,以使我的问题更容易理解。将更新问题
标签: mysql join database-performance