Как я могу выяснить, какие запросы возвращают наибольшее количество данных? (PostgreSQL, ядро Dotnet EF)

#postgresql #.net-core #entity-framework-core

Вопрос:

У меня есть приложение Dotnet core, использующее EF, подключенное к базе данных PostgreSQL, они находятся на отдельных машинах Linux. Мы столкнулись с проблемами с потреблением пропускной способности на наших серверах и подозреваем, что это один из наших запросов, возвращающий намного больше данных, чем необходимо.

Хотя я нашел способы просматривать информацию о том, сколько времени занимает запрос, я не смог точно определить, сколько данных возвращается запросом.

Есть ли способ получить общее представление о том, какие запросы возвращают наибольшее количество данных с помощью postgres?

Комментарии:

1. explain (analyze) покажет вам, сколько строк вернул запрос и их размер

2. Это сработало бы для отдельных запросов, но есть ли способ сделать это, не вызывая это для каждого отдельного запроса вручную?

3. вы можете установить pg_stat_statements , который содержит совокупную статистику для всех операторов

4. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.