Здравствуйте.
Что-то у меня письмо из ЛС не уходит, оставлю ответ здесь:
Видимо повторяюсь, но как можно обойти Проблему что на базу ФИАС 8 Гб надо иметь хостинг в месяц равный по деньгам получаемым за год от сайта.
Выборки выложенные MaxS понятные, но где можно взять действующие адреса БЕЗ домов, чтоб вставить в более менее бюджетный хостинг, в MySQL.
Нужны: в MySQL область, город, район города, улица.
Я не пользуюсь ФИАС, что там - не знаю. Использую KLADR+RZMSK(тарифные зоны из Москвы).
Суммарный объем базы ~0.4 ГБ (это в UTF-8; если использовать ANSI, то можно сократить примерно на треть).
ДомА (300 МБ) исключить не выйдет, т.к. почтовый индекс "начинается" именно с этой таблицы.
Остальные (более высокого уровня) таблицы (`street`, `kladr`) JOIN'ятся именно к таблице `doma` уже ПО КОДУ (по его частям, смотрите мой запрос выше, в прошлом ответе).
Далее, из 300 МБ таблицы `doma` 161 МБ - данные, 133 МБ - индексы.
Я индексирую все поля (`name` VARCHAR(40),`korp` VARCHAR(10),`socr` VARCHAR(10),`code` CHAR(19),`index` CHAR(6)), т.к. использую поиск по ним.
Это связано с тем, что адрес "клиента" я храню в "как-бы kladr" формате: `index` CHAR(6), `region` CHAR(2), `area` CHAR (3) и .т.д., поэтому при запросе/поиске "текстовых" данных адреса к таблице `address` JOIN'ятся соответствующие kladr-таблицы - из них и "тащатся" все сокращения и названия.
Плюс: данные нормализованы (непротиворечивы и не дублируются), по крайней мере в "моей" таблице `address` (за kladr отвечать не могу).
То есть, если хотите как-то иначе реализовать (без JOIN kladr'ов при запросе адреса), то сможете "убрать" тяжелые индексы типа `name`.
Да, еще, я пробовал реализовать экспорт из DBF в MySQL на PHP - не смог дождаться завершения (таблица `doma`), не выдержал - ОЧЕНЬ долго.
Писал экспорт на C++ (Qt), получилось на порядок быстрее.
Это я к тому, что в production-режиме, да еще при хостинге, загрузить сервер на 100% php-скриптом минут на 30 - не комильфо.
Выход - использовать ресурсы локального ПК, пусть трудится, а сервер пускай обрабатывает только sql-запросы от ПК.
Как-то так...