lea*_*ore 0 postgresql postgresql-performance
我看过很多文章和视频,它们都对 MySQL 上的 Postgres 进行了如下描述。
Postgres 在为每个连接分叉一个新进程时会分配大量内存(大约 10MB)。这会导致内存使用量膨胀并有效地消耗速度。因此,它牺牲了数据完整性和标准合规性的速度。对于简单的实现,Postgres 将是一个糟糕的选择!- 相扑逻辑
每次我在某处读到或听到它时,都没有关于它真正意味着什么或是否有办法处理它的上下文。在 PostgreSQL 中处理这类问题的具体方法是什么?这是通过使用连接池来克服的吗?
有趣的是听到 10MB 是“大量的内存”。
数据库不是 Web 服务器,它是为提供大量短期连接而优化的。PostgreSQL 连接加载缓存的目录数据以提高效率。
这就是您使用连接池的原因,以便您的所有短数据库请求都由少量持久数据库连接处理。
我怀疑这是 PostgreSQL 特有的——其他数据库也从连接池中受益,有些甚至在服务器中内置了一个。所以我认为你引用的那句话是来自竞争对手的仇恨言论,他想不出比重申 PostgreSQL 缓慢而复杂的古老神话更好的办法了。