首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加带有月份标识符的列可以提高查询性能吗?

添加带有月份标识符的列可以提高查询性能吗?
EN

Stack Overflow用户
提问于 2016-07-01 10:07:09
回答 1查看 35关注 0票数 3

情况如下。有一个每月约40000行的表格,乘以24个月,所以我们可以说,差不多有1000 000行。每一行都有一个时间戳列,该列上创建了索引。大多数频繁的查询都是将特定月份的数据进行汇总的一次查询,例如2016年1月。如果我们为每个月分配一个分隔标识符,让我们将其称为" idm“,对于2016年1月使其等于1(2016年2月=2等等),在idm上创建索引,它会对查询性能产生什么影响,比较哪个语句:

  1. 时间戳>= '20160101‘和时间戳< '20160201’
  2. idm =1?使用idm会更快吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-01 10:42:03

如果在timestamp和建议的idm列上有索引,那么两者可能是相同的。这是一个大致的答案。如果where子句中有其他条件,那么idm = 1的性能会更好。它允许使用更多的优化方法。

然而,索引并不是正确的方法。由于数据和查询的性质,您应该考虑表分区。这将允许每个月的数据单独存储。您可以阅读有关表分区这里的内容。

如果不想对表进行分区,我建议将idmtimestamp作为聚集索引。这将有助于查询,甚至where子句也会在表中选择相对较高比例的行。

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

https://stackoverflow.com/questions/38142642

复制
相关文章

相似问题

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