|
MySQL.RU - Webboard
Вернуться
Проблема с запросом (Владимир) 18/03/2007 - 16:31:12
From: Владимир - 18/03/2007 - 16:31:12
Subject:Проблема с запросом
-----------------
Недавно занялся изучением MySQL и столкнулся с одной проблемой.
Есть две таблицы, созданные примерно вот такими запросами:
CREATE TABLE files
(id mediumint unsigned NOT NULL PRIMARY KEY,
path char(255)
);
CREATE TABLE fnsrel
(sid char(8),
fid mediumint unsigned
);
В первой таблице примерно 500 записей, во второй около 640.
Далее делаю вот такой запрос:
SELECT path, id FROM files WHERE id IN
(SELECT s1.fid FROM fnsrel s1 WHERE s1.fid IN
(SELECT s2.fid FROM fnsrel s2 WHERE s2.sid = 'Are') AND s1.sid <> 'Are')
Смысл двух внутренних запросов в том, чтобы найти все такие значения fid, которым соответствует не одно значение sid (в данном случае Are), а внешнего вывести соответствующие этим fid'ам значения path.
Так вот, выполняется запрос почему то ужасающе долго: где-то полминуты, причем MyAdmin показывает, что время выполнения где-то 8 секунд.
Если выполнить отдельно внутренние запросы и затем подставить самому их результат во внешний, то все выполнятся очень быстро.
Помогите решить проблему, а не то я уже сам не знаю что делать.
Версия MySQL - 5.0.37 под Windows.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
31039
|
|