首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果表包含postgresql中的“热”和“冷”数据,UUID主键会使读取查询恶化吗?

如果表包含postgresql中的“热”和“冷”数据,UUID主键会使读取查询恶化吗?
EN

Stack Overflow用户
提问于 2016-12-04 10:07:31
回答 1查看 97关注 0票数 0

我正在设计一个存储事件的表格。每个事件大约有100到500个字节,计划每年大约有5亿个事件。应用程序的生命周期应该是3+年。最新的事件是“热点”,因为在事件发生后的一个月内,可以通过不同的处理查询来广泛地获取事件,也可以获取其他事件,但是很少,因此它们是“冷的”。首先,我决定对这样的表使用UUID主键,但现在我担心使用UUID会破坏“热”数据的读取性能,因为postgres如何在磁盘上存储页面。我的恐惧有道理吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-04 20:26:41

您为主键选择的数据类型并不重要--它只是磁盘上的几个字节。

我要研究的是分区。如果通常访问新条目,则可以按日期进行分区。但是,只有当您可以在访问条目的查询中添加像WHERE creationdate > '....'这样的子句时,这才会有所帮助,因为搜索将被限制在那些与条件匹配的分区中。分区还可以方便地删除旧数据。

不幸的是,分区还没有内置到PostgreSQL中(还没有),而且仍然需要大量的手工操作。此外,还存在某些不足,如全局索引。但是,如果您使用UUID作为主键(以完成圆圈并回到您的问题),您将不会有重复的条目。

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

https://stackoverflow.com/questions/40957483

复制
相关文章

相似问题

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