Как оптимизировать таблицы в Postgres А вы знали, что правильный порядок столбцов может на 20% уменьшить размер таблицы в Postgres? 🔜 Минимальный возможный размер строки — 24 байта. Он меняется в зависимости от количества столбцов и типов данных — какие-то весят больше, какие-то меньше. Но на итоговый размер строки влияет также такой момент, как последовательность, в которой идут друг за другом разные типы данных. Это связано с выравниваем данных на диске — чтобы оптимизировать его, Postgres может добавлять отступы между разными типами данных. Это и приводит к увеличению размера строки. При этом способ выравнивания зависит от типа данных. Эта же логика распространяется и на индексы. 🔜 Разбор реальных примеров показывает, что «правильный» порядок столбцов на 15-20% уменьшает вес и таблицы, и индекса. Там же можно подробнее почитать про то, как этого добиться, но если кратко, то можно придерживаться такого подхода: сначала размещаем «тяжелые» данные вроде int8, float8, timestamp, а затем — более легкие. Конечно, никто не предлагает начинать срочно переставлять столбцы во всех таблицах в базе, чтобы сэкономить лишние два байта на диске — для многих компаний такие «оптимизации» будут явно избыточны. Но все же это стоит иметь в виду. А вы учитываете особенности выравнивания данных в работе? ❤️ — Да, конечно! 🌚 — Нет, мне это не нужно