Интернет-магазин. Как хранить разновидности товаров в БД?
Свойства вынести в отдельные таблицы (по ним ещё потом делать фильтры товаров).
Сделать таблицу для связи товара и свойства, в неё же добавить цену, остатки на складе и доступность позиции для продажи (если например анализируется информация от поставщиков).
Собственно проблема в следующем: есть таблица товаров, есть таблица свойств к ним, допустим ищем по свойствам и находим 1000 различных id товаров - выдергивать из MySQL данные видимо таким образом (SELECT * FROM goods WHERE id IN (array)), где array - массив из 1000 элементов - пожалуй все согласятся, что такой запрос при посещаемости магазина даже в 1кпользователей в сутки и при размерах таблицы хотя бы в несколько десятков тысяч товаров - рушит систему, почем зря.
Решение с хранением товаров в альтернативных базах не рассматривается (т.к. допустим в документоориентированных подобный запрос отработает за константу по времени). Хочется услышать варианты именно с MySQL.
P.S. все предложенные выше - просто разновидности очевидного, не более того, особенно выложенный дамп базы - слишком много буков;) но по сути именно то, что я описал выше:)