I wrote a utility that sync's our Oracle HR database of employees into SharePoint profiles. It loads all 150,000 employees from Oracle into an array, for each employee it retrieves or creates a SharePoint profile, updates fields from that Oracle source and commits changes into SharePoint User profile, all using SharePoint API.
The problem is - it's very slow. Updating 150,000 profiles took almost 3 days and according to the logs it takes 3-6 seconds to simply commit changes into SharePoint for a single user.
I started up a SQL Profiler and what I see is - for each inserted/updated user there are hundreds of stored procs called for Activity Feeds (updating colleagues feeds, I guess) and some User Profile timer jobs as well. No surprise it's so slow.
Now the question - is there a way to diagrammatically disable/postpone activity feed sync and user profile sync jobs during the run of the utility. I haven't found how to do that and any help would be much appreciated.