Cuando un dataset tiene muchos o pocos registros, lo que recomiendo es incluir una condición en la SQL que no devuelva registros.
Código SQL
[-]SELECT * FROM CLIENTES ID = 0
Si nunca existe un registro con ID = 0, la apertura del dataset es instantaneo y podrás crear multiples registros sin que exista lentitud. Eso sí, vas a incluir una carga masiva de registros, recomiendo que cada 100 registros realices commit, para recuperar la memoria consumida por la transacción
un saludo.