Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос с подмножествами
 
 автор: Дмитрий Смаль   (14.10.2013 в 15:50)   письмо автору
 
 

Здравствуйте

есть две таблицы
products и categories

нужно чтобы один товар находился в нескольких категориях
обычно для этого используют дополнительную таблицу с индексами товара и категории (depend)
я заметил что при достаточно большом количестве товаров запрос сильно тормозит БД

вопрос, на сколько разумно сделать поле categories в таблице products где хранить ИД категорий через занятую и запросы для товаров делать такого плана
SELECT * FROM products WHERE 2 IN (categories) - выборка товаров второй категории
если учесть что категории для одного товара в большинстве случаев только 1 и для некоторых товаров их может быть несколько - но точно всегда меньше 10

будет ли такой запрос при условии что товаров несколько десятков тысяч проходить быстрее чем запрос
SELECT p.* FROM products p, depend d WHERE d.child=p.id AND d.parent=2

  Ответить  
 
 автор: cheops   (14.10.2013 в 21:08)   письмо автору
 
   для: Дмитрий Смаль   (14.10.2013 в 15:50)
 

>я заметил что при достаточно большом количестве товаров запрос сильно тормозит БД
Возможно не индексированы запросы и не оптимизирована сама СУБД?

>вопрос, на сколько разумно сделать поле categories в таблице products где хранить ИД категорий через занятую и запросы для
>товаров делать такого плана
Будет еще хуже в плане производительности и удобства - СУБД не предназначена для такого способа хранения данных. Будет во-первых дико неудобно редактировать такие строки, во-вторых это будет медленнее, чем операции с набором цифр.

  Ответить  
 
 автор: Sfinks   (15.10.2013 в 09:31)   письмо автору
 
   для: Дмитрий Смаль   (14.10.2013 в 15:50)
 

> обычно для этого используют дополнительную таблицу с индексами товара и категории (depend)
Вы не забыли добавить в нее составной первичный индекс на оба поля?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования