Получение DDL полезно для автоматизации некоторых административных задач.
Более уместны на уровне middleware — вы правы. Но это вовсе не означает, что вам никогда не понадобится такой функционал в БД.
Выше я об этом писал. Конечно, было бы быстрее использовать например maxmind api, но существуют задачи, в которых выгоднее/нужнее использовать для этого БД. Например, если вообще вся эта катавасия происходит в бд, анализ логов и т.п.
contrib для постгреса несколько отличается от модуля для апача и никак не меняет то, что задача решена средтвами БД. Борьба за «чистоту» базы от модулей в случае постгреса неправильный подход.
А так — да, решение в UPD2 действительно очень хорошее, жаль сам в свое время не допер. Гуглил не в ту сторону видимо:).
Да, я про него упомянул в начале топика. Производительность дает на порядки большую, чем выборки из базы. Но все зависит от задачи, иногда просто удобнее использовать бд.
Думаю разработчики модуля выбрали GIST потому что он более «универсальный» что ли. В этой конкретной задаче имело бы смысл использовать GIN, но в принципе он ощутимо понижает производительность вставки.
буквально месяц назад на нашем проекте решали очень похожую задачу. Разница в том, что нам нужен был сервис, делающий скрин произвольного сайта. После часа гугления, я попробовал вариант с webbrowser, фактически ie. Вскрылось несколько проблем: иногда оно просто не могло отрендерить страницу, иногда падало с .net runtime error. Решением стало использование geckofx плюс рендеринг решено было производить в отдельном процессе, а не потоке, чтобы максимально обезопасить сам сервис.
А почему не использовали
position(substring in string)
?Более уместны на уровне middleware — вы правы. Но это вовсе не означает, что вам никогда не понадобится такой функционал в БД.
| startip | endip | locationid |
| 192.168.0.1 | 192.168.0.5 | 1 |
| 192.168.0.5 | 192.168.0.18 | 2 |
В комментариях выше есть пример того, как правильно работать в mysql с geoip базами.
А так — да, решение в UPD2 действительно очень хорошее, жаль сам в свое время не допер. Гуглил не в ту сторону видимо:).
В алексе — 644 Traffic Rank
В нетчарте — 99