Как упростить запрос mysql?
Подскажите как упростить/оптимизировать запрос. Смущает количество JOINов. Не будет ли это слишком ресурсоемкий запрос?
CREATE TABLE `board` (
`id` mediumint(7) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID Объявления',
`name` varchar(250) NOT NULL COMMENT 'Название Объявления',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
INSERT INTO `board` VALUES
(100, 'Продам Daewoo'),
(101, 'Продам Kia'),
(102, 'Продам Ford');
CREATE TABLE `options` (
`item_id` mediumint(7) unsigned NOT NULL COMMENT 'ID Объявления',
`option_id` varchar(200) NOT NULL COMMENT 'Название параметра',
`value` varchar(200) NOT NULL COMMENT 'Значение параметра',
KEY `item_id` (`item_id`)
) ENGINE=MyISAM;
INSERT INTO `options` VALUES
(100, 'model', 'Lanos'),
(100, 'color', 'Бежевый'),
(100, 'cond', 'Новый'),
(101, 'model', 'Rio'),
(101, 'color', 'Синий'),
(101, 'cond', 'Б/у'),
(102, 'model', 'Transit'),
(102, 'cond', 'Новый');
Сам запрос:
SELECT b.id,b.name FROM board as b
JOIN options as o1 ON o1.item_id = b.id && o1.option_id = 'model' && o1.value IN ('Lanos','Transit','Rio')
JOIN options as o2 ON o2.item_id = b.id && o2.option_id = 'color' && o2.value IN ('Синий')
JOIN options as o3 ON o3.item_id = b.id && o3.option_id = 'cond' && o3.value IN ('Б/у')
http://sqlfiddle.com/#!9/245ed3/246