|
MySQL.RU - Webboard
Вернуться
Выборка по 2-ум полям с "OR" и индексы (Антон) 02/03/2007 - 11:27:32
From: Антон - 02/03/2007 - 11:27:32
Subject:Выборка по 2-ум полям с "OR" и индексы
-----------------
есть таблица:
CREATE TABLE `table1` (
`id` int(11) NOT NULL auto_increment,
`type_id` int(11) NOT NULL default '0',
`type_id2` int(11) NOT NULL default '0',
UNIQUE KEY `id` (`id`),
KEY `type_id` (`type_id`),
KEY `type_id2` (`type_id2`),
KEY `key3` (`type_id`,`type_id2`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=10342 ;
Делаем в ней запрос:
explain SELECT DISTINCTROW * FROM table1 WHERE (type_id=1415) OR (type_id2=1415)
И он выдает:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE uw ALL t_id,upperway,t_id_2 NULL NULL NULL 3251 Using where
т.е. индексы почему-то не используются для такой выборки. Подскажите пожалуйста почему так происходит и как можно исправить ситуацию?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30879
|
|