We have a client that uses customer pricing extensively. About 15 years ago, we created an access data base and routines to create deals for a customer that might involve a whole product line, range of items or what ever. The access data base would create a record for each item affected.
From that we would export the IMB type 0 and 1 price records, reinitialize IMB, import the type 0 and 1 records and then import the type 2 records from the access data base. It worked really well.
A couple years ago, they reached about 600K records and we had issues with it taking all night. We gave up on the heavy importing and one of our guys wrote routines in BOI to Add, Change or Delete records as necessary based on the contents of the current records in Access. Under this system, it rarely takes over 10 minutes to do the job. They only do it about once a month except in the spring but it works so well, the BOI rouutines are run every night and if no changes have been made, it is done in a few seconds.