SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 31.07.2012 16:33:56

septera
Завсегдатай
Откуда: Краснодар
Зарегистрирован: 16.02.2011
Сообщений: 30

Много однотипных условий в запросе

Всех приветствую!
У меня есть запрос в котором около 500 однотипных условий, система так и виснет при таком запросе, что делать гуру?
Вот пример:

CREATE TABLE `nomenklatura` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uid` varchar(50) NOT NULL,
  `sklad` varchar(50) NOT NULL,
  `article` varchar(50) NOT NULL,
  `name` varchar(1000) NOT NULL,
  `original` varchar(2000) NOT NULL,
  `manufacturer` varchar(50) NOT NULL,
  `cen_grup` varchar(50) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uid` (`uid`,`sklad`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10006153 ;

SELECT id, article, name, original, manufacturer, cen_grup FROM nomenklatura WHERE ((article LIKE "W 68/3" AND manufacturer LIKE "MANN-FILTER") OR (article LIKE "0 986 452 028" AND manufacturer LIKE "BOSCH") OR (article LIKE "OC 216" AND manufacturer LIKE "KNECHT") OR ... ) ORDER BY article ASC

Отредактированно septera (31.07.2012 16:45:04)

Неактивен

 

#2 31.07.2012 18:13:39

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Много однотипных условий в запросе

alter table `nomenklatura` add index(manufacturer,article);
и в запросе like на = замените.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson