DML статистика по таблице - PullRequest
0 голосов
/ 29 марта 2010

Мы используем PostgreSQL 8.2 .

В нашем приложении мы интенсивно используем временную таблицу (REPORTTEMP) для отчета цель поколения. Все типы операторов DML выполняются в этой таблице, но ОБНОВЛЕНИЕ оператор сравнительно очень низкий с INSERT и DELETE. Итак, в любой момент времени, после завершения транзакции, количество записей в этой таблице будет всегда быть нулем.

Мой вопрос: как мне узнать, сколько ВСТАВЛЕНИЙ, ОБНОВЛЕНИЙ и УДАЛЕНИЙ? происходит в этой таблице, то есть количество просмотров таблицы. Мне нужна эта статистика для дальнейшей настройки от аспект производительности.

Я также читал о Сборщике статистики PostgreSQL здесь http://www.postgresql.org/docs/8.2/interactive/monitoring-stats.html но это происходит за счет дополнительных накладных расходов во время выполнения.

Перед включением этого сборщика статистики, есть ли другой / лучший способ, которым мы можем это выяснить?

1 Ответ

1 голос
/ 29 марта 2010

Непосредственно перед удалением временной таблицы (или перед закрытием соединения), выберите pg_stats в таблицу, где вы храните всю информацию:

INSERT INTO history SELECT * FROM pg_stat_user_tables WHERE relname = 'temp_table';
...