Привет,
у меня есть довольно большая база адресов (больше миллиона с перспективой роста), которую нужно каждый месяц актуализировать. таблица с адресами довольно тяжелая (>1GB), много текстовых полей. вот сижу и думаю как лучше сделать.
вся проблема в том, что нужно хранить историю изменений, адреса меняются быстро и в довольно большом количестве. т.е. в конце мне нужно знать какое поле (улица, дом и пр.) и когда изменилось.
думаю просто добавить в базу таблицу updates и писать туда старые адреса. т.е. если адрес изменился, то новый адрес идет в общую таблицу, а старый в updates. смущает количество запросов в базу для каждого отдельно взятого адреса:
берем новый адрес
ищем по ключу адрес в общей таблице (SELECT)
сравниваем и если есть изменения
пишем старый адрес в updates (INSERT)
обновляем запись в общей таблице (UPDATE)
для маленькой базы данных это не было бы проблемой, но в моем случае думаю на каждый адрес будет уходить пару секунд, а при 2-2.5 млн. адресов (из которых только 1 млн. уникальных) каждый апдейт будет испытанием...
может кто-то подскажет как лучше сделать? где почитать как правильно делать такие вещи?
заранее спасибо!