







|
MySQL.RU - Webboard
Вернуться
Нужна помощь в оптимизации запросов. (Роман) 14/02/2007 - 14:19:32
Re: Нужна помощь в оптимизации запросов. (Роман) 14/02/2007 - 14:21:04
Re: плачу 10 WMZ тому кто реализует... (Роман) 14/02/2007 - 21:56:32
Re: плачу 10 WMZ тому кто реализует... (Boris) 15/02/2007 - 14:58:18
Re: плачу 10 WMZ тому кто реализует... (Роман) 20/02/2007 - 06:26:44
> Original message text:
> From: Роман - 14/02/2007 - 14:19:32
> Subject:Нужна помощь в оптимизации запросов.
> -----------------
> Уважаемые господа! Обыскал весь форум, перерыл учебники, не могу найти решения своей задачи.
>
> Есть две таблицы:
> Ссылки (links)
> lid text url siteid
> 1 Текст1 URL1 1
> 2 Текст2 URL1 2
> 3 Текст3 URL1 2
> 4 Текст4 URL1 1
> 5 Текст5 URL1 3
>
> Сайты (sites)
> id name cat
> 1 Сайт1 1
> 2 Сайт2 2
> 3 Сайт3 1
> 4 Сайт4 1
> 5 Сайт5 3
>
> Необходимо при заданной cat (категория) вывести из таблицы несколько URL, причем так, чтобы все относились к разным сайтам.
>
> Т.е. получить примерно след:
>
> lid text url siteid
> 1 Текст1 URL1 1
> 2 Текст2 URL1 2
> 5 Текст5 URL1 3
>
> Пока у меня получилось сделать так:
>
> $Q = "SELECT id FROM sites WHERE cat=$cat ORDER BY RAND() LIMIT $pp;";
>
> Далее обрабатываем полученный результат кодом и составляем группу новых запросов.
>
> while ($ar=mysql_fetch_array($r))
> {
> if ($Q2!="") $Q2.= " UNION ";
> $Q2.= "SELECT * FROM links WHERE lid=".$ar["id"];
> }
>
> В итоге например для двух сайтов получаем запрос из нескольких объединенных селектов.
>
> Таким образом у меня для вывода 4х ссылок требуется 5 селектов :(.
>
> Никто не знает как можно оптимизировать запрос? Возможно с изменением структуры таблиц (все уже перепробовал).
>
> Заранее благодарен!
>
From: Роман - 20/02/2007 - 06:26:44
Subject:плачу 10 WMZ тому кто реализует...
-----------------
сори давно не заходил на форум...
Данные запрос выводит все ссылки из категории, но мне нужно чтобы все ссылки были с разных сайтов, т.е. если есть несколько ссылок с одним siteid, то выводилась только одна случайная из них...
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30795
|
|