Влияет ли число столбцов таблицы MySQL на производительность?

У меня в MySQL таблице товаров 100 столбцов с данным, при этом это уже сокращенный вариант, так как где-то 50 было разнесено по таблицам с дополнительными характеристиками товаров. На сколько это будет влиять на время чтения/записи в дальнейшем, когда будет допустим 1 000 000 позиций? 100 000 000 позиций? Разносить остальные данные по дополнительным таблицам или без разницы и оставить так?
  • Вопрос задан
  • 1578 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
У меня в MySQL таблице товаров 100 столбцов с данными
Я бы всё-таки это делал с использованием типов товаров, которые будут храниться в отдельной таблице, а здесь - только ID-шники на структуры типов. Также, все доп. характеристики - связываются через ID-шники полей-характеристик, которые хранятся тоже в других таблицах.

В итоге: будет удобно создавать фасетный фильтр (для поиска товаров с определённым набором) и максимально сделать индексацию через ID-полей внутри базы.
Ответ написан
Нет, кластеры не обязательно.
Стоит обратить внимание на колоночные СУБД, решающие проблему оптимального хранения и доступа к данным при большом множестве колонок.
MonetDB, Druid или, например, развивающийся продукт MariaDB ColumnStore (поддерживается полный SQL) как продолжение развития InfiniDB.

Добавлено позже:
Есть одна статья, рассказывающая о способах хранения данных в таблицах в традиционных СУБД:
Структура таблиц для каталога товаров интернет-магазина
EAV расшифровывается как Entity–attribute–value или по-русски: объект-атрибут-значение. Она представляет собой модель данных для описания сущностей, в которых количество атрибутов (свойств, параметров) может быть потенциально большим.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы