相关疑难解决方法(0)

如何在Rails中修复pg_attribute表上的慢速隐式查询

在我们的生产环境中,我们注意到Rails应用程序中经常出现峰值(〜每1小时一次).深入挖掘,这是由于以下查询在单个HTTP请求中累计运行> 1.5 s(称为100x).

SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = ?::regclass AND a.attnum > ? AND NOT a.attisdropped 
ORDER BY a.attnum
Run Code Online (Sandbox Code Playgroud)

我们没有显式调用该表的代码,但似乎Rails调用它来计算每个模型的属性." 对Rails/Heroku上的Postgres数据库的意外SQL查询 "是相关的.

但不应该被Rails称为非重复性的吗?

我们如何加快速度?

ruby postgresql ruby-on-rails heroku

17
推荐指数
1
解决办法
817
查看次数

标签 统计

heroku ×1

postgresql ×1

ruby ×1

ruby-on-rails ×1