Как стать автором
Обновить

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

А каков смысл в вашем эксперименте на update, если в конце вы даже не сделали ни какого вывода по этой части?

Прошу прощения, не всё скопировал из черновика. Добавил.

Тогда есть претензии к выводам в части описания занимаемого места. Тогда для полноты нужно проверять как будет вести себя объём после garbage collector (vacuum, sweeping и т.д.), тем более, что в статье не учтено и не описано их влияние.

Использование типов данных с часовыми поясами требует дополнительных ресурсов в обеих системах

Пожалуйста, не вводите в заблуждение. У PostgreSQL одинаковый размер данных у timestamp и у timestamptz — ровно 8 байт (64 бита):

# SELECT oid, typname, typlen FROM pg_type WHERE oid in ('timestamp'::regtype, 'timestamptz'::regtype)
 oid  |   typname   | typlen
------+-------------+--------
 1114 | timestamp   |      8
 1184 | timestamptz |      8
(2 rows)

=---

Firebird более эффективно хранит данные типа char и varchar, особенно при больших размерах полей (200 символов) - 2604.25 MB против 2728 MB в PostgreSQL

Более эффективно — это аж на 4.5%?

=---

Эти различия следует учитывать при проектировании баз данных

Как это надо учитывать? Выбирать при проектировании другую БД? Не по функциональности, не по обслуживаемости, а просто по тому, как СУБД хранит колонки CHAR(200)?

Посмотрите, пожалуйста, как люди делают статьи про учёт хранения в БД, что можно учитывать при проектировании:

Хранение пустых (NULL) значений в таблицах PostgreSQL
https://habr.com/ru/articles/890718/

=---

Для сравнения выберем следующие типы данных:

Выбирать для хранения надо те типы, которые подходят под доменную область, а не заполнять таблицы колонками с одними и теми же типами данных (что, кстати, в реальной жизни — редкость).

=---

P.S.: (на будущее) всю SQL-ную сгенерированную портянку лучше запрятать под раскрывающиеся блоки (Спойлер):
https://habr.com/ru/docs/help/markdown/

Мне кажется что при сравнении не учтено что у PostgreSQL есть еще журнал транзакций который хранится вне базы, и растет при работе с базой, что вызывает необходимость его потом как-то урезать. У Firebird отдельного журнала нет, эта инфа пишется в самой базе.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации