У меня есть две таблицы: одна - ip_group_city из ipinfodb.com , содержащая номера ip_start для определения местоположения IP-адресов, а другая - «посещения» с информацией о посетителе веб-сайта, содержащем столбец «ip».
Мне нужно выбрать топ-10 region_code (из ip_group_city), проверяя region_code для каждого IP-адреса из таблицы «посещений».
Сейчас я загружаю все IP-адреса из «посещений» в массив и используюэта информация IP для запроса ip_group_city по:
SELECT region_code
FROM ip_group_city
WHERE ip_start <= INET_ATON(IP_FROM_ARR)
ORDER BY ip_start DESC LIMIT 1
Я не могу создать какой-то вложенный запрос, чтобы выполнить работу за меня, потому что сейчас все идет немного медленно :) - это занимаетдо 30 с на моем ноутбуке xampp (AMD Turion x2 2 ГГц, работает под управлением Windows 7 Ultimate, 64-битная версия)
Вот таблица с IP-адресами (посещения)
CREATE TABLE IF NOT EXISTS `visits` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`clientid` mediumint(8) unsigned NOT NULL,
`ip` varchar(15) NOT NULL,
`url` varchar(512) NOT NULL,
`client_version` varchar(64) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=49272 ;
Спасибо