- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нужно сделать базу данных для того, чтобы хранить объекты с разными свойствами и делать поиск по этим свойствам простым. Например каталог товаров. У товаров свойства могут быть разные.
Например, насос - размеры, вес, производительность; генератор - размеры, вес, мощность, вид топлива. И так для каждого типа товара разный набор свойств.
Пока есть несколько глупых идей.
1. таблица получится огромная с массой пустого места, которое будет жрать место
CREATE TABLE `products` (
`product_id` int,
`property1` type,
`property2` type,
....
`propertyN` type,
)
2 для каждого типа товара создаем свою таблицу. появление нового типа товаров - ведет к появлению еще одной таблицы - очень большое количество таблиц
3.
CREATE TABLE `products` (
`product_id` int,
`properties` text,
)
`properties` - в эту ячейку грузим хэш со всеми параметрами - очень все удобно, но поиск с сортировкой не сделать
Но это все не очень красивые решения.....
А как создать такой каталог?
Определитесь сначала с тем, что это будет за каталог.
Как часто будет появляться новый тип товаров.
Сколько типов товаров сейчас.
Как много товаров.
Как много свойств.
Прочее.
Смысл в любом случае сводится к тому, что выбор оптимального решения индивидуален и зависит от задачи.
Универсальное решение классическое нормальное - таблица товаров, таблица свойств, таблица связей между одним и другим. Но не ждите от этого решения ничего кроме универсальности.
Определитесь сначала с тем, что это будет за каталог.
В качестве примера рассмотрим некий аналог например магазина стройматериалов и стройинструментов.
имеем сотни категорий и в каждой категории сотни товаров. (всего 100,000 товаров)
Ну таки да, изредка категории будут добавляться.
Но на самом деле система должна работать одинаково хорошо и для 100 и для 1000 товаров и/или категорий.
А как создать такой каталог?
А как создать такой каталог?
если сами не понимаете, то можно "подсмотреть" готовые решения, например в Simpla реализован такой каталог с разными свойствами товаров, которые задаются к категориям.
не призываю тупо копировать, но разбираться лучше на примерах))
В общем и целом то, что вам нужно, называется Entity-Attribute-Value EAV - для теоретического ознакомления советую по этому словосочетанию погуглить - как это всё делается и оптимизируется.
Можно просто юзать что-то вроде MongoDB.
Но если подвязаны на что-то вроде MySQL, то да придется повозиться с атрибутами, если по хорошему то еще и с типами этих атрибутов.
Читая всякие форумы, типа stackoverflow, постоянно натыкаюсь на "Don't go with EAV." поэтому и не стал вникать в детали.
Ну а ставить вторую БД типа mongo - выглядит довольно сложным решением по началу.
Попробую посмотреть на "конкурентов"
А вопрос быстродействия стоит? Просто при большом количестве запросов я бы отталкивался именно от этого, если же нагрузки большой не ожидается делал бы структуру наиболее понятной для человека.
Правильный вариант - держать в двух таблицах, в одной товар, в другой проперти. Будет не устраивать - перейти на тип поля JSON в MySQL. Еще будет не устраивать - перейти на postgresql и HStore . Снова не устраивает , ставим ElasticSearch , загоняем товары в индекс и ищем с абалденной скоростью по любым параметрам.
А вопрос быстродействия стоит? Просто при большом количестве запросов я бы отталкивался именно от этого, если же нагрузки большой не ожидается делал бы структуру наиболее понятной для человека.
Проблема быстродействия стоит всегда, т.к. не известно заранее количество объектов.