none
Schreiben SQL Server RRS feed

  • Allgemeine Diskussion

  • Ich habe eine Anwendung unter VS 2013 / VB.net mit der ich meist 30-50.000 Datensätze über ExecuteNonQuery() in eine MS SQL Datenbank schreibe.  Das funktioniert wunderbar.

    Wenn ich den selben Quelltext unter VS 2015 kompiliere und die Anwendung ausführe verlängert sich der Schreibvorgang von ca. 20 Sekunden auf 8 Minuten.

    Welche Einstellungen sind dafür verantwortlich?

    Freitag, 25. März 2016 17:53

Alle Antworten

  • Hi,

    schau bitte mit dem SQL Server Profiler, ob es Unterschiede bei den gesendeten/ausgeführten SQL Statements gibt.

    Zudem poste bitte mal exemplarisch den Code, mit dem Du die Datensätze wegschreibst. Bitte inkl. der SQL Statements.

    Achte auch darauf, dass beide Kompilierungen vergleichbar sind, also entweder beide als Debug oder eben als Relase kompilieren. Ersteres kann durchaus zu einem extremen Performanceeinbruch führen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Freitag, 25. März 2016 18:29
    Moderator
  • Hallo!

    Das klingt erst mal seltsam. Ist es wirklich 1 zu 1 der identisch Quellcode?

    Schreibst Du die 50.000 Datensätze in einer Schleife - sprich 50.000 Insert-Statements? Falls ja prüf mal, ob Du 50.000x die Connection aufbaust oder ob Du alle Statements mit derselben Connection durchführst. Wenn Du die Connection immer öffnest und schließt, könnte es an unterschiedlichen Connection-Strings liegen (z.B. einmal mit und einmal ohne Connection Pooling).

    Das ist nur einer erste Idee. Wie Stefan schon geschrieben hat, bräuchte man zur Analyse mehr Infos (z.B. Quellcode).

    Grüße

    Oliver

    Donnerstag, 7. April 2016 11:13