Можно ли в mysql хранить 200 колонок, для 10+млн записей?



@one2four

Вопрос в том как это повлияет на скорость и много ли потребуется памяти для запроса.
Имеются метрики A, B, C их около 200 штук, с числовыми значениями, их нужно хранить хранить в ненормальной форме в виде колонок или в массиве: [ {a: 1, b: 7, c: 9} ] или [1, 7, 9, …] с последующим подсчетом суммы каждой метрики в запросе. Например, есть строки вида
ключевое слово 1 | site 1 | [5, 7, 9, …]
ключевое слово 1 | site 2 | [1, 3, 2, …]
нужно сгруппировать ключевое слово, и подсчитать количество метрик, должно быть так
ключевое слово 1 | [6, 10, 11, …]


Решения вопроса 3



@Rsa97

Смотрим здесь. Получаем для обычного INT 4 байта на одно число, для BIGINT 8 байт.
200 * 4 * 10’000’000 = 8’000’000’000 или 8Gb.
200 * 8 * 10’000’000 = 16’000’000’000 или 16Gb.
По нынешним меркам сущие пустяки.
Хранить, конечно же, нужно в нормальной форме, иначе суммирование придётся делать в приложении.


Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *