Management Studio "Import CSV" vs sqlcmd viele INSERTs

Ich habe diesen Tisch:

Members(person_id, school_id) 

In einer lokalen database in einem lokalen SQL server

Ich habe eine file inserts.sql mit 5.000.000 Inserts:

 Insert into Members(person_id, school_id) VALUES (...) Insert into Members(person_id, school_id) VALUES (...) Insert into Members(person_id, school_id) VALUES (...) 

inserts.sql wurde programmgesteuert von members.csv

Ich habe versucht 3 Dinge: A, B, C

  • A) Ich habe versucht, die .sql in Management Studio zu betreiben, aber es wirft einen Fehler wegen nicht genügend memory

  • B) Ich habe versucht, diese file von MSDOS wie folgt auszuführen:

     sqlcmd -S localhost -d mydb -i inserts.sql 

Und meine CPU wurde von intensiver Arbeit eingefroren. Ich wartete wie 10 Minuten und entschied mich für ctrl + C. Ich musste den Computer neu starten, weil es alles lagig war und ich konnte den Cursor ertragen

  • C) Ich ging zum SQL Management Studio und klicke mit meinem Klick auf meine db> Tasks> data importieren

Dies öffnete einen Zauberer und ich folgte diesen Schritten:

von der flachen file> members.csv> sql client> to table members> finish

Das hat nicht meine CD-Hocke überhaupt und es war in 8 Minuten fertig. Es zeigte mir auch einen Fortschrittsbalken.

Frage: wie kommt es Was macht dieser Zauberer intern, um das zu erreichen? Ist dieser Zauberer nicht mit Einsätzen? Wie erledigt er diese Geschwindigkeit und wie wird er erreicht, um data in einen Tisch zu legen, wenn er keine Einsätze macht?