Focal Point
[SOLVED]Insert Records From Memory is Slow

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/1381057331/m/8167050586

December 29, 2016, 09:13 AM
DeeJay
[SOLVED]Insert Records From Memory is Slow
Inserting 17 million records into table with only a clustered index on identity column is taking 66 minutes. Not doing any transforms, literally just selecting all columns (approx. 100) from source table for insertion into target. Source and target are the same layout.

*Load Type = Insert Records From Memory
*Commit every row(s) = Off
*Block size = 10000


For comparison purposes I copied the SQL out of Data Migrator and pasted into SQL Server Management Studio. Added the INSERT INTO portion and executed. This completes in 6 minutes.

Any ideas on why Data Migrator is so slow?

Thanks.

This message has been edited. Last edited by: Tamra,


WebFOCUS 7.7.06
Windows, All Outputs
December 30, 2016, 10:23 AM
Clif
DataMigrator doesn't currently generate INSERT INTO ... SELECT commands in MS SQL Server.

When DataMigrator was originally developed it was mostly used to copy data from one database to another. So the emphasis was on approaches that would allow any source (indeed multiple sources) and targets. Not all databases supported SELECT ... INTO or INSERT INTO ... SELECT commands (although now most do) but by definition that would only work for a source and target in the same database so we developed alternatives including Insert Records from Memory, Bulk Load, Extended Bulk Load to take advantage of different databases capabilities.

The forthcoming server Release 7.7 adds a limited capability in the Web Console to do a custom copy to a new table in the same database using INSERT INTO ... SELECT.

If you would like to see such functionality incorporated into a future release of DataMigrator please open a Hottrack case as a New Feature Request.


N/A
December 30, 2016, 12:55 PM
DeeJay
Thank you for your response. I was just thinking an insert from memory in data migrator and an insert into select from in sql server were basically doing the same thing.... selecting records from a source and inserting into a target. I just didn't understand how one can be 11 times faster than the other when all it's doing is moving data from one table to another.


WebFOCUS 7.7.06
Windows, All Outputs