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




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: Роман - 14/02/2007 - 14:21:04
Subject:Нужна помощь в оптимизации запросов.
-----------------
Забыл указать, что важно, чтобы при каждом запросе выводились случайные ссылки (рэндом для этого).


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

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

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



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