问题标签 [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.
entity-framework - 使用 Postgresql 进行简单查询时实体框架的性能不佳
在我的新项目中,我热衷于在 Postgresql 上使用 .NET Entity Framework。所以我首先比较了 Entity Framework 和简单 SQL 查询的性能。为此,我开发了一个示例桌面应用程序并在两种模式下运行它,即。在多线程环境中使用实体框架和简单的 SQL 查询。我发现 Entity Framework 的性能比 SQL 调用低 50%。我在这两种情况下都使用 NPGSQL。
性能是我的应用程序成功的关键因素,它每秒处理大约 250-300 个请求。
请建议我是否应该选择实体框架。或者是否有任何提示和技巧可以提高 EF 的性能以内联简单的 SQL 调用。我正在使用 .NET Framework 4.5。
postgresql - Postgresql 更新命令太慢
我有以下 postgresql 表:
我通过以下命令更新此表:
如您所见,我正在更新每一行的 dataID。此更新用作附加。它将新数据附加到以前的数据中。
这太慢了。特别是当“dataID”列变大时。
以下是“解释”结果:
解释分析:
和版本:
有什么建议吗?
postgresql - Postgreslq解释分析:隐藏时间
我有一个很长的查询,并explain analyze
没有帮助。
PostgreSQL 版本:9.1
目前的计划:
http://explain.depesz.com/s/sWG
查询:
HashJoin 和 Hashaggregate 之间似乎经过了几秒钟。Hashjoin 需要 1200 到 1600 毫秒。使用 HashAggregate 它会跳转到 5645 毫秒。
遇到此问题的其他任何人都可以解释其中的区别吗?
ruby-on-rails - 现有数据的 Postgresql FTS 解决方案
在 Rails 应用程序中,我正在尝试和修补在 postgres 中为现有数据添加 fts。这是我所做的:
name_tsv 列的值仍为空。但是为了快速测试,我尝试了这个:
并将其与此进行比较:
而前者速度较慢。
问题:
1. 为什么速度较慢?
2. 为现有数据填充 tsvector 列的最佳做法是什么?
虽然我的问题与 Rails 应用程序有关,但通常更多的是关于 postgresql fts,所以仍然欢迎任何特定于 postgres 的解决方案。
postgresql - Postgresql解释分析:节点之间的时间
在像这样的 PostgreSQL 解释计划中:
http://explain.depesz.com/s/wwO
什么可以证明最后一个 hashjoin 和 hashaggregate 之间的时间?
只有数据量来操作?
mysql - 为什么 Heroku postgres 比本地 mysql 需要更长的时间?
在我的本地开发中,我使用 ActiveRecord 进行的查询需要 1695 毫秒,包括渲染视图,但是在 Heroku 上,我使用相同的查询得到请求超时,这意味着它需要 30 多秒。关于 Heroku 或 Postgres 有什么我不知道的东西可能会导致这种情况吗?
这是查询:
详细信息表的电子邮件属性没有索引。
在本地,explain_threshold 设置为 nil,但我怀疑 1.6s 查询无论如何都会有问题。
数据量并没有太大的不同,不像1000个和1000000个,这就是为什么我认为它应该花费大约相同的时间。
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 我真的希望那个小型数据库“粘”在内存中吗?
performance - Postgres 没有表现
任何想法如何加快这个查询?
输入
输出
好的,这是一个简化版本,连接不是瓶颈
问题是找到没有这些 id 的实体
解释
sql - 具有多个连接到同一个表的慢 postgres 查询
以下查询对我来说运行非常缓慢:
运行 EXPLAIN (BUFFERS,ANALYZE) 给出以下结果: http ://explain.depesz.com/s/iKG
comps
是否为每个别名(重新)构建表的哈希?我能做些什么来加快速度?注意:运行两个单独的查询来自己加入数据会更快。
Postgres 版本:9.1.9 机器:Ubuntu 12.04 8 | 4核至强2.5Ghz | 8GB 内存
postgresql - PostgreSQL 大单事务比多事务慢
在 Postgres 上,我最近看到了一个案例,在单个事务中处理了大量的选择。这真的很慢,所以解决方案是将选择分成多个事务,这极大地缩短了查询时间。
有没有人遇到过这样的案例?这似乎违反直觉,我想知道为什么多笔交易更可取是否有技术原因?
我唯一的理论是,与单个庞大的事务相比,数据库更容易通过多个事务维护 ACID 属性。