Habr<p>Порядок следования столбцов в таблицах PostgreSQL</p><p>Порядок столбцов в таблицах влияет на компактность и производительность. При небольшом числе строк на это не обращают внимание. Если в таблицах хранится много строк, то даже небольшое уменьшение объема хранения может быть полезно. У столбцов есть оптимальный порядок и менее оптимальные, которые отличаются размером, который используют строки при физическом хранении. Причина того, что переставив столбцы строки в таблице с теми же самыми данными, меняют размер в выравнивании (aligning) и заполнении нулями (padding). В блоке данных выравниваются все структуры: заголовки, поля строк и целиком сами строки. На 64-разраядных операционных системах, длина любой строки и заголовка строки выравниваются по 8 байт. То есть если строка занимает 28 байт, то физически она займёт 32 байта. В конец строки будут добавлены пустые байты. Поля выравниваются сложнее - по 4,8, 16 байт. В статье рассматривается перестановка столбцов на примере демонстрационной базы.</p><p><a href="https://habr.com/ru/articles/895638/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/895638/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>postgresql</span></a> <a href="https://zhub.link/tags/postgres" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>postgres</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%BE%D1%81%D1%82%D0%B3%D1%80%D0%B5%D1%81" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>постгрес</span></a> <a href="https://zhub.link/tags/%D0%B2%D1%8B%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>выравнивание_данных</span></a></p>