Meine Firma ist verflucht von einer symbiotischen Partnerschaft parasitär geworden. Um unsere Daten vom Parasiten zu erhalten, müssen wir eine schmerzhaft langsame ODBC-Verbindung verwenden. In letzter Zeit ist mir jedoch aufgefallen, dass ich durch paralleles Ausführen von Abfragen (sogar in der gleichen Tabelle) mehr Durchsatz erzielen kann.Schnellste Art und Weise parallel zu einer einzigen Tabelle einfügen
Es gibt eine besonders große Tabelle, aus der ich Daten extrahieren und in unsere lokale Tabelle verschieben möchte. Abfragen parallel ausführen Ich kann Daten schneller abrufen, aber ich stelle mir auch vor, dass dies Probleme beim Versuch, Daten aus mehreren Abfragen gleichzeitig in dieselbe Tabelle zu schreiben, verursachen könnte.
Welchen Rat können Sie mir geben, wie ich diese Situation am besten behandeln kann, damit ich die erhöhte Geschwindigkeit der parallelen Verwendung von Abfragen nutzen kann?
EDIT: Ich habe hier ein tolles Feedback erhalten, aber ich glaube nicht, dass ich die Daten über einen Verbindungsserver (der die odbc-Treiber verwendet) übermittele. Mit anderen Worten, das bedeutet, dass ich normale INSERT-Anweisungen ausführen kann und ich glaube, das würde eine bessere Leistung als SqlBulkCopy oder BULK INSERT bieten (eigentlich glaube ich nicht, dass BULK INSERT sogar eine Option wäre).
Wie Sie vorgeschlagen haben, werden parallele Schreiboperationen wahrscheinlich nicht zur Leistung beitragen. Vielleicht finden Sie hier einige Antworten http://stackoverflow.com/questions/2861944/how-do-i-do-very-fast-inserts-to-sql-server-2008 –
Migrieren Sie die Daten? Ich frage, weil Sie Ihre Bewegungsdaten an lokale Tabellen gesendet haben. Auch wie geht das in Code zB C# oder als Teil eines SQL-Jobs? –
@mouters Ja, aber neue Daten kommen nicht in unsere Datenbank, daher muss ich jeden Tag etwas Neues kopieren. Bisher habe ich es in SSM mit der Hand gemacht, aber die parallele Idee wird in C# gemacht, wenn ich das tue. Wahrscheinlich werde ich das nicht parallel machen b/c Ich habe jetzt alle historischen Daten und muss nur einen SQL-Job einrichten, um jeden Abend neue Daten zu bekommen. Aber ich wollte nur ein paar Infos über die Idee b/c bekommen, die ich in naher Zukunft für andere Sachen dafür verwenden könnte. –