powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Большое количество колонок
5 сообщений из 5, страница 1 из 1
Большое количество колонок
    #39530001
G@rry_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К вопросу о сомнительном дизайне.

Есть два варианта для таблички:
1. Таблица на 5 полей и 150 миллионов записей.
2. Таблица на 150 полей и 1 миллион записей.

Какой вариант позволит добиться максимальной скорости выборки? Если отбор будет происходить по индексируемым полям, и дифференциация значений в них (особенно в первом варианте) не очень большая?

Интуитивно понимаю что второй вариант быстрее. И если это так, то как объяснить программисту, что те 150 полей которые ему предстоит описать в маппере - это не бред похмельный, а ради дела праведного? :)
...
Рейтинг: 0 / 0
Большое количество колонок
    #39530027
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G@rry_,

Есть такой формат ISO8583, в частности карточный процессинг его использует. Там пакет содержит до 128 полей.

Дык вот, когда писал обработчик в 2003 году, то тоже сначала сделал 3 полей — типа по науке, EAV и всё такое.

И на первом же запросе, типа: для транзакции у которой (f012=A, f013=B, f025=C, f030=D, f32=E) надо найти пару (соответствующие поля одинаковые), но чтобы поле f042 отличалось — плюнул и переделал на таблицу со 135 полями.

Так что пусть программист не ноет — ему запросы 1 раз сделать, а систему потом в продукции поддерживать — годы (тьфу-тьфу)!
...
Рейтинг: 0 / 0
Большое количество колонок
    #39530101
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G@rry_,

я бы поискал третий вариант. может вынести из второго варианта какие-то неизменяемые поля, по которым не будет поиска в hstore/json/jsonb.
...
Рейтинг: 0 / 0
Большое количество колонок
    #39530128
G@rry_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexius,

И что мне это даст кроме тормозов на выборке? У меня данные вообще не меняются. Просто добавляются и выбираются для отчетов. Количество колонок фиксированное, циферьки там, потребности в XML, слава богу, нет.
...
Рейтинг: 0 / 0
Большое количество колонок
    #39530148
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G@rry_,

я же не знаю что у вас за данные. может там 90% колонок всегда null для каждой строки или колонки вида column1..columnN которые в массив логичнее запихнуть. или много колонок, которые читаются пару раз в год, а остальное время только мешают. и может быть удобнее работать с денормализованными данными, чем с 150 полями. +есть физическое ограничение на число полей в таблице (строка без toast'ов должна целиком помещаться на одной странице), вдруг через какое-то время понадобится не 150, а 1000 колонок.

тормоза могут быть в варианте с 150 колонками, когда строки очень широкие и в toast ничего не выносится и нужно будет все колонки читать с диска, даже если нам нужна одна колонка в запросе.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Большое количество колонок
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]