У меня есть две таблицы: одна - ip_group_city из ipinfodb.com , содержащая номера ip_start для определения местоположения IP-адресов, а прочее - это «посещения» с информацией о посетителе веб-сайта, содержащие столбец «ip».
Мне нужно выбрать 10 лучших region_c ode (из 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 ;
Спасибо