У меня есть таблица со столбцами и ограничениями:
height smallint,
length smallint,
diameter smallint,
volume integer,
idsensorfragments integer,
CONSTRAINT sensorstats_idsensorfragments_fkey FOREIGN KEY (idsensorfragments)
REFERENCES sensorfragments (idsensorfragments) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
(без первичного ключа). В настоящее время в нем 28 978 112 записей, но размер таблицы, на мой взгляд, слишком велик.
Результат запроса:
select pg_size_pretty(pg_total_relation_size('sensorstats')), pg_size_pretty(pg_relation_size('sensorstats'))
is:
"1849 MB";"1226 MB"
В столбце idsensorfragments есть только один индекс. С помощью простой математики видно, что одна запись занимает ~66,7 Б (?!?!). Кто-нибудь может объяснить мне, откуда эта цифра?
5 столбцов = 2 + 2 + 2 + 4 + 4 = 14 байт. У меня есть один индекс, без первичного ключа. Откуда берутся дополнительные 50 байт на запись?
P.S. Таблица была очищена, проанализирована и переиндексирована.