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




MySQL.RU - Webboard



Вернуться
join и диапазон значений (Wanenhalf) 24/06/2004 - 11:51:41
      Re: join и диапазон значений (Dinky) 24/06/2004 - 19:33:19
      Re: join и диапазон значений (Lexx_a) 16/02/2010 - 18:58:22



From: Wanenhalf - 24/06/2004 - 11:51:41
Subject:join и диапазон значений
-----------------
наверняка кто-нибуть уже сталкивался с этой задачей..

есть две таблицы.
statistic_ip содержит интересующее нас поле IP.
geo_ip - содержит три поля:
первое - некий ID,
второе и третье - диапазон значений.

Нужно одним запросом, получить соответствие содержимого statistic_ip и ID из geo_ip

скорее всего запрос должен быть:
[src]
select
ip.customer,
ip.ip,
city.id
from statistic_ip as ip left join geo_ip as city on (city.first<ip.ip and city.last>ip.ip)
[/src]

но этот запрос выполняется очень долго (как минимум 626 секунд - больше я не стал ждать)
в чем причины такого долгого выполнения, и есть ли возможность переделать запрос, структуры таблиц, что бы решить проблему?

структура statistic_ip:
[src]
CREATE TABLE statistic_ip (
ip int(10) unsigned NOT NULL default '0',
`load` int(7) NOT NULL default '0',
uid_site int(11) NOT NULL default '0',
customer int(11) NOT NULL default '0',
`date` int(10) NOT NULL default '0',
PRIMARY KEY (ip,uid_site,date)
) TYPE=MyISAM;
[/src]

структура geo_ip:
[src]
CREATE TABLE geo_ip (
id int(8) NOT NULL default '0',
first int(11) NOT NULL default '0',
last int(11) NOT NULL default '0',
KEY first (first),
KEY last (last),
KEY firstlast (first,last)
) TYPE=MyISAM;
[/src]



спасибо.


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

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

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



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