Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
30879



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |