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




MySQL.RU - Webboard



Вернуться
Странное поеведение индексов (SveRel) 13/08/2010 - 20:15:34
      Re: Странное поеведение индексов (Diter) 16/08/2010 - 18:49:08
      Re: Понял! (SveRel) 16/08/2010 - 23:34:52



From: SveRel - 13/08/2010 - 20:15:34
Subject:Странное поеведение индексов
-----------------
Есть список статей привязанных к компаниям. Связь: много-ко-многим и для этого используется таблица связей состоящая из двух столбцов. Что бы найти все статьи привязанных к категории #5 я выполняю запрос:
====================
EXPLAIN SELECT *
FROM `articles` AS `r1`
WHERE `r1`.`id`
IN (
SELECT `r2`.`article_id`
FROM `companies_articles_rel` AS `r2`
WHERE `r2`.`company_id` = 5
)
=====================================

Прикол в том, что MySQL не хочет использовать индексы. Она пишет:
possible_keys = NULL.
Хотя если выполнить запрос:
=====================================
EXPLAIN SELECT *
FROM `articles` AS `r1`
WHERE `r1`.`id`
IN (6)
=====================================

Тогда possible_keys = PRIMARY - т.е. всё таки она их использует, но не тогда когда выполняется вложенный SQL-запрос.

P.S.> Сам результат первого SQL-запроса правильный - т.е. возвращает она то что мне нужно. Но почему не используются индексы???


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37358



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