2009-05-13 23 views
5

Sto facendo un inserimento di massa di un file CSV in SQL Server 2005, utilizzando un pacchetto SSIS (non costruito da me)è SSIS Inserimento di massa lo stesso di un Inserimento di massa

Io corro SQL Profiler e vedere l'istruzione di inserimento come:

insert bulk [dbo].[stage_dht](.....) 

ma non c'è clausola FROM in questa affermazione, quindi sono curioso di sapere come si è sempre è i dati, ed è questa cosiddetta veloce caricare il modo migliore per masse di dati in SQL ?

risposta

4

Sì, l'attività di inserimento in blocco SSIS utilizza la stessa funzionalità di sottolineatura utilizzata dal comando BULK INSERT.

Probabilmente vedrete differenze in SQL Profiler perché l'attività di inserimento in blocco utilizzerà direttamente l'oggetto di sottolineatura di COM (che alimenta l'inserimento in blocco), piuttosto che essere semplicemente un wrapper della GUI sul comando T-SQL. Quindi, piuttosto che specificare FROM, suppongo che passi un puntatore di flusso IO aperto all'oggetto COM.

L'inserimento di massa è praticamente il modo più rapido per caricare molti dati in SQL Server perché viene eseguito in-process ", condividendo lo stesso spazio di indirizzamento della memoria. Poiché i file di dati vengono aperti da un processo di SQL Server, i dati sono non copiato tra processi client e processi di SQL Server ". 1

Tuttavia, le prestazioni variano se il file si trova sullo stesso computer di SQL Server o meno.

1About Bulk Import and Bulk Export Operations

Problemi correlati