问题标签 [postgresql-performance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
706 浏览

entity-framework - 使用 Postgresql 进行简单查询时实体框架的性能不佳

在我的新项目中,我热衷于在 Postgresql 上使用 .NET Entity Framework。所以我首先比较了 Entity Framework 和简单 SQL 查询的性能。为此,我开发了一个示例桌面应用程序并在两种模式下运行它,即。在多线程环境中使用实体框架和简单的 SQL 查询。我发现 Entity Framework 的性能比 SQL 调用低 50%。我在这两种情况下都使用 NPGSQL。

性能是我的应用程序成功的关键因素,它每秒处理大约 250-300 个请求。

请建议我是否应该选择实体框架。或者是否有任何提示和技巧可以提高 EF 的性能以内联简单的 SQL 调用。我正在使用 .NET Framework 4.5。

0 投票
1 回答
173 浏览

postgresql - Postgresql 更新命令太慢

我有以下 postgresql 表:

我通过以下命令更新此表:

如您所见,我正在更新每一行的 dataID。此更新用作附加。它将新数据附加到以前的数据中。

这太慢了。特别是当“dataID”列变大时。

以下是“解释”结果:

解释分析:

和版本:

有什么建议吗?

0 投票
1 回答
103 浏览

postgresql - Postgreslq解释分析:隐藏时间

我有一个很长的查询,并explain analyze没有帮助。

PostgreSQL 版本:9.1

目前的计划:

http://explain.depesz.com/s/sWG

查询:

HashJoin 和 Hashaggregate 之间似乎经过了几秒钟。Hashjoin 需要 1200 到 1600 毫秒。使用 HashAggregate 它会跳转到 5645 毫秒。

遇到此问题的其他任何人都可以解释其中的区别吗?

0 投票
1 回答
251 浏览

ruby-on-rails - 现有数据的 Postgresql FTS 解决方案

在 Rails 应用程序中,我正在尝试和修补在 postgres 中为现有数据添加 fts。这是我所做的:

name_tsv 列的值仍为空。但是为了快速测试,我尝试了这个:

并将其与此进行比较:

而前者速度较慢。

问题:
1. 为什么速度较慢?
2. 为现有数据填充 tsvector 列的最佳做法是什么?

虽然我的问题与 Rails 应用程序有关,但通常更多的是关于 postgresql fts,所以仍然欢迎任何特定于 postgres 的解决方案。

0 投票
1 回答
115 浏览

postgresql - Postgresql解释分析:节点之间的时间

在像这样的 PostgreSQL 解释计划中:

http://explain.depesz.com/s/wwO

什么可以证明最后一个 hashjoin 和 hashaggregate 之间的时间?

只有数据量来操作?

0 投票
1 回答
132 浏览

mysql - 为什么 Heroku postgres 比本地 mysql 需要更长的时间?

在我的本地开发中,我使用 ActiveRecord 进行的查询需要 1695 毫秒,包括渲染视图,但是在 Heroku 上,我使用相同的查询得到请求超时,这意味着它需要 30 多秒。关于 Heroku 或 Postgres 有什么我不知道的东西可能会导致这种情况吗?

这是查询:

详细信息表的电子邮件属性没有索引。

在本地,explain_threshold 设置为 nil,但我怀疑 1.6s 查询无论如何都会有问题。

数据量并没有太大的不同,不像1000个和1000000个,这就是为什么我认为它应该花费大约相同的时间。

0 投票
1 回答
834 浏览

postgresql - PostgreSQL 性能:在服务器忙于大数据库时,将很少使用的小型数据库保留在内存中

我有一台 64GB RAM 和 PostgreSQL 9.2 的服务器。上面有一个只有 4GB 的小型数据库“A”,大约每小时查询一次,还有一个大约 60GB 的大数据库“B”,每秒查询 40-50 次!

正如预期的那样,Linux 和 PostgreSQL 用更大的数据库数据填充 RAM,因为它被更频繁地访问。

我现在的问题是对小型数据库“A”的查询很关键,必须在 <500 毫秒内运行。日志文件显示了每天需要超过 3 秒的查询。如果我手动执行它们,它们也只需要 10 毫秒,所以我的索引很好。

所以我猜想,当 PostgreSQL 必须从磁盘加载小型数据库索引的块时,就会发生这些长跑者。

我已经有某种“缓存预热器”脚本,它每秒对小型数据库重复“SELECT * FROM x ORDER BY y”查询,但它浪费了大量的 CPU 能力,只会稍微改善一下情况。

还有更多想法如何告诉 PostgreSQL 我真的希望那个小型数据库“粘”在内存中吗?

0 投票
4 回答
22962 浏览

performance - Postgres 没有表现

任何想法如何加快这个查询?

输入

输出

好的,这是一个简化版本,连接不是瓶颈

问题是找到没有这些 id 的实体

解释

0 投票
1 回答
931 浏览

sql - 具有多个连接到同一个表的慢 postgres 查询

以下查询对我来说运行非常缓慢:

运行 EXPLAIN (BUFFERS,ANALYZE) 给出以下结果: http ://explain.depesz.com/s/iKG

comps是否为每个别名(重新)构建表的哈希?我能做些什么来加快速度?注意:运行两个单独的查询来自己加入数据会更快。

Postgres 版本:9.1.9 机器:Ubuntu 12.04 8 | 4核至强2.5Ghz | 8GB 内存

0 投票
1 回答
1101 浏览

postgresql - PostgreSQL 大单事务比多事务慢

在 Postgres 上,我最近看到了一个案例,在单个事务中处理了大量的选择。这真的很慢,所以解决方案是将选择分成多个事务,这极大地缩短了查询时间。

有没有人遇到过这样的案例?这似乎违反直觉,我想知道为什么多笔交易更可取是否有技术原因?

我唯一的理论是,与单个庞大的事务相比,数据库更容易通过多个事务维护 ACID 属性。