Как исправить медленный неявный запрос к таблице pg_attribute в Rails

В нашей производственной среде мы заметили частые всплески (~ 1 час) в нашем приложении Rails. Если копнуть глубже, то это связано со следующим запросом, который в совокупности выполняется за> 1,5 с (называемый 100x) в одном HTTP-запросе.

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

У нас нет кода, вызывающего эту таблицу явно, но кажется, что он вызывается Rails, чтобы выяснить атрибуты для каждой модели. "Неожиданные SQL-запросы к базе данных Postgres на Rails / Heroku" относится.

Но разве он не должен вызываться без повторов в Rails?

Как мы ускорим это?

Ответы на вопрос(3)

Ваш ответ на вопрос