В общем, сервер из одной CRM-системы берет данные в виде xml со всеми работниками.
На сервер полагается запросить инфу, допустим, об одном работнике с каким то номеров. Это номер естественно хранится в одном из сотен полей.
В голову приходит перебирать весь массив и сравнивать номера, и при нахождении выдавать. Но этот способ мне вообще не нравится. Да и не "быстро".
Примечание: в свою базу данных сохранять нельзя, так как данные в crm меняются иногда.
в свою базу данных сохранять нельзя, так как данные в crm меняются иногда.
И в чем проблема? Заливаете данные в таблицы с префиксом например tmp. Когда зальется - меняете эти таблици с текущими рабочими местами. Старые таблицы удаляете.
Такой вариант подходит если у вас коллизий id не будет.
В случае когда коллизии таки возможны - все зависит от конкретно от вашей задачи.
Примечание: в свою базу данных сохранять нельзя, так как данные в crm меняются иногда.
Странное примечание. можно вставить в базу строчку с данными пользователя и приписать к строчке дату, когда данные были выкачаны. Тогда чтобы получить актуальный комплект данных - нужно взять выборку по самой свежей дате. Старые данные после обновления базы можно выкидывать или использовать каким нибудь странным способом, например показывать пользователей как удаленные...