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

12
P
На сайте с 06.01.2009
Offline
574
579

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

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

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

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

IL
На сайте с 20.04.2007
Offline
418
#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

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
P
На сайте с 06.01.2009
Offline
574
#2

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

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

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

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

Спасибо

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


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

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

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

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

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

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

дата

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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