首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发查询的MVCC快照限制

并发查询的MVCC快照限制
EN

Stack Overflow用户
提问于 2020-02-23 11:32:28
回答 1查看 83关注 0票数 0

我正在努力学习PostgreSQL MVCC体系结构。它说,MVCC为每个并发查询创建一个单独的快照。这种方法不是内存不足吗?

例如,如果有1000个并发查询,并且表的大小很大。这将创建该表的多个实例。

我的理解正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-23 16:02:48

它说,MVCC为每个并发查询创建一个单独的快照。这种方法不是内存不足吗?

你可以说这是记忆效率低下。在实践中,这通常不是什么大问题。

例如,如果有1000个并发查询,并且表的大小很大。

为什么要有/需要1000个并发查询?你们有1000个CPU吗?如果存在尝试建立1000个并发查询的风险,则应该部署一些条目控制机制(如连接池程序),以防止这种情况发生,并回退到max_connections。

这将创建该表的多个实例。

快照不是表的副本。只是一个一组信息,它动态地应用于基表行,以确定哪些行在该快照中可见。快照的大小与并发事务的数量成正比(原因之一是没有1000个事务),而不是表的大小。

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

https://stackoverflow.com/questions/60361747

复制
相关文章

相似问题

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