Сколько полей "выдержит" таблица базы?

12
P
На сайте с 06.01.2009
Offline
556
577

Привет, подскажите пожалуйста, знающие люди - сколько полей сможет выдержать таблица базы прежде чем она "лопнет"?

Таблица автоматически пополняется новыми полями (столбцами).

Что то ничего не смог найти про это, может запрос не верно вбиваю...

ps вероятно убогое решение. Вообщем. Есть таблица с id товоров. Ежедневно появляется 1 новый столбец (поле). В этот столбец суммируется сегодняшнее количество резервирования того или иного товара.

IL
На сайте с 20.04.2007
Offline
412
#1
postavkin:
сколько полей сможет выдержать таблица базы прежде чем она "лопнет"?

Для MySQL 5, MySQL 8

MySQL 5.0 Column-Count Limits (emphasis added): There is a hard limit of 4096 columns per table

https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html

Однако, раз такое дело, может о структуре базы задуматься?

p.s. Есть ещё ограничение на размер строки https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html#row-size-limits

P
На сайте с 06.01.2009
Offline
556
#2

ivan-lev, спасибо. Размер строки - как я понял получаемых данных. В него мы не упремся, так как запрашивается только сегодняшняя колонка резервирований такого то id, прибавляется 1 и пишется новое число в сегодняшнюю колонку. Вчерашние и прошлые дни идут архивом.

Сегодня запрашивается только сегодняшняя колонка. Завтра будет новая.

А что можно тут придумать по структуре, может быть подскажете?

Честно говоря нет идей и мыслей, меня надо немного подтолкнуть к правильному решению.

Спасибо

A
На сайте с 11.05.2009
Offline
94
#3
postavkin:


ps вероятно убогое решение. Вообщем. Есть таблица с id товоров. Ежедневно появляется 1 новый столбец (поле). В этот столбец суммируется сегодняшнее количество резервирования того или иного товара.

эм, честно говоря до такого решения додуматься это еще надо уметь ))

недопустимая ошибка в базе - вторая таблица с тремя полями id товара, дата, резервирование, id и дата - индекс

S
На сайте с 13.10.2014
Offline
148
#4

Проще сделать таблицу из трех столбцов

id товара ( ключевое поле )

дата

кол-во резерва

тогда сайт будет жить вечно.

P
На сайте с 06.01.2009
Offline
556
#5

silicoid - а как это сделать....

потер, сперва не так понял

мне же нужно иметь отчет, по дням, т.е. в такой то день поставили такой то набор товаров в резерв, каждый столько то раз

P
На сайте с 06.01.2009
Offline
556
#6

Вот так нарисовал.

Если сегодня резервируют товар id4, то к 7 прибавится 1 и запишется 8.

А завтра уже новое поле, старт с нулями.

Для своего личного удобства сделано чуть иначе (свежая дата самая левая колонка), но сути не меняет.

jpg 185454.jpg
yet_warm
На сайте с 26.05.2007
Offline
129
#7
postavkin:
мне же нужно иметь отчет, по дням, т.е. в такой то день поставили такой то набор товаров в резерв, каждый столько то раз

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

Или нельзя создавать новые таблицы? Или я чота недопонял. :)

Многие хотят попасть в рай, мало кто хочет для этого умирать.
P
На сайте с 06.01.2009
Offline
556
#8
yet_warm:
Вроде ж идею подсказали - отдельная таблица, куда скирдуешь изменения, связываешь либо с товаром, либо с набором товаров (тогда сделать отдельную таблицу набора).
Или нельзя создавать новые таблицы? Или я чота недопонял. :)

Типа как то так?

jpg 185456.jpg
IL
На сайте с 20.04.2007
Offline
412
#9
silicoid:
Проще сделать таблицу из трех столбцов

id товара ( ключевое поле )
дата
кол-во резерва

Или составной первичный ключ (id, date)

postavkin:
Типа как то так?

Типа да, только первый id в этом случае можно не использовать.

И определиться, может ли быть в один день несколько приходов.. )))

Можно на эту историю триггер повесить, который будет остатки в другой таблице (товаров) подсчитывать в соответствии с приходами-расходами.

S
На сайте с 30.09.2016
Offline
459
#10
ivan-lev:
первый id в этом случае можно не использовать

Лучше использовать, для удобства.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий