performance - 有什么方法可以在 PostgreSQL 中使用 >1 Core 进行单个连接/查询?

标签 performance postgresql cpu-usage windows-7-x64 multicore

我知道 Postgres 会自动扩展到具有多个连接的多核,但是当我在单个连接上运行大量查询时呢?令人沮丧的是,我的 4 核系统的 CPU 使用率最高达到 25%。

我正在从 SQL Server 切换到 SQL Server,这是迄今为止唯一真正让我烦恼的事情。 SQL Server 最多将 100% 的 CPU 用于单个连接/查询。

如果需要的话,我在配备 Xeon 处理器的 Windows 7 Enterprise 64 位系统上运行 9.2。

如果没有办法解决这个问题,有人可以解决为什么这不被视为问题吗?是因为 Postgres 专注于多用户场景吗?

最佳答案

PostgreSQL 当前不支持跨多个 CPU 内核执行单个查询(如果您正在执行写入查询,则减去后台写入和 wal 写入等后台操作,但这并不重要)。这项工作正在进行中,但它是一个长期项目,并且不在任何当前版本的 PostgreSQL 中。

这在所有平台和架构上都是一样的。

这绝对是一个问题,但是正如您所说,PostgreSQL 专注于多用户场景,因此直到最近它才冒泡到优先级队列的顶部。但肯定有人意识到这是一个问题,并致力于为 future 的版本解决它,只是还没有完成。

关于performance - 有什么方法可以在 PostgreSQL 中使用 >1 Core 进行单个连接/查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18268130/

相关文章:

postgresql - 在 PostgreSQL 中将 bytea 表示为单个整数的最简单方法是什么?

java - Linux 下 java 进程 CPU 使用率过高

java - 限制 Runtime.getRuntime().exec 的 CPU 使用率

php - MySQL 性能 - 单个值的 "IN"子句与等于 (=)

algorithm - 迪士尼的 FastPass 是否有效和/或有用的队列理论

python - 对大型 scipy 稀疏矩阵进行快速列访问

java - 使用 JMX/MBean 监控 Cassandra CPU 使用情况

mysql - 用于超大数据集的 RDBMS——人们在使用什么?

sql - Postgres 大于或空

postgresql - 一个 Postgresql 函数卡在 for 循环中,查询永远不会结束查询