вопрос "как лучше сделать"?
еще думаешь... вся страна уже перешла ☝☝☝
ну а чего вы хотели.. им все равно... не нравится уходите
уже не раз об этой кампании говорили
спрошу тут,
а есть ли базы разбитые по районам, с входящими в них населеными пунктами
именно ТС правильно мыслите...
CREATE VIEW v AS SELECT * FROM table WHERE a='xxx';
потом если обращатся к v
SELECT * FROM v;
каждый раз будет сначала делатся выбока а потом из это выборки делатся ваша выборка
примерно всеровно что написать так
SELECT *
FROM
FROM table
WHERE a='xxx'
WHERE
b='zzz'
можно еще извратится так: установить на виртуальную машину винду, написать софт под виду и в винде организовать шлюз, на который слать что нужна с чем нужно
в случае зависания - поднимать, ребутить ВМ - скриптами
ничего не сделаешь и зачем что-то делать... будет зеркало
надо рубить не только текст, но и учитывать слова...
учитывайте кодировку...
RewriteCond %{HTTP_REFERER} http://нехороший сайт
RewriteRule .* /error.html [L] (отсылаем куда подальше)
или
на основе регулярок сделать тоже самое но под конкретные определенные ключи, но с разных хостов
сделать правило в файрволе - если с одного IP много запросов в еденицу времени - то блокировать его на какое то время....
если в рамках одного сайта...- сделать такую же проверку по сессии... более кстати правильно, тогда блокируется только один компутер, если с одного IP выходят много людей(например сети организаций)