В базе данных (postgres) храняться IP адреса посетителей. В массиве - диапазоны ip адресов и соответствующие им имена городов.
Задача: реализовать (на сколько это возможно) быстрый поиск города, откуда пришел посетитель по его ip.
Решение задачи "в лоб" приводит к тому, что через 30 секунд наступает превышение времени, отведенное на скрипт и он убивается.
Это происходит при количестве IP в базе 8000 и диапазонов ip в массиве порядка 300.
Может попробовать занести диапазоны тоже в базу и получать города с помощью SQL запросов (в базе хранить ip в их числовом представлении) ? Поможет ли это ?
Как это реализовано в системах статистики, где учитывается по несколько десятков тысяч посещений за месяц ?
0 Сообщения: 102 Зарегистрирован: 13.06.03 Откуда: Харьков, Украина
Добавлено: 22 Сентябрь 2003, 08:59:57
Целиком в БД будет работать быстрее.
Кроме того, при регистрации посещения совсем не обязательно искать и заносить в запись город (если ты это делаешь, конечно). Эти данные необходимы только при просмотре статистики. Тогда их и нужно собирать.
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.