Veröffentlicht 26. April 201213 j Hallo zusammen, ich habe ein kleines Performance-Problem bei einer Programmierung. Und weiss jetzt leider nicht wie ich es anders lösen soll. Zur Erklärung: Ich habe in unserem ERP System eine Tabelle1 mit verschiedenen Daten . Können schon ca 100 000 Zeilen sein. Hier ist eine Checkbox am anfang der Zeile Zu dem hab ich im SQL Server noch eine unabhängige Datenbank (tabelle2) die zum Datenabgleich dient. Nun muss ich anhacken welche Daten in Tabelle1 auch in der Tabelle 2 sind. Vor ab noch. Ich muss hier über das vorgegebene Framework des ERP-Anbieters die Tabelle Zeile für Zeile auslesen. Es würde soweit funktionieren aber ein ständiger select verlangsamt das ganze.. ich hoffe das jedem soweit klar ist. Wie kann ich hier am besten Selects absetzen bzw diesen Datenabgleich prüfen.
26. April 201213 j Indem du eine Abfrage über beide Tabellen mit einem inner join machst. Damit bekommst du alle Datensätze die in beiden Tabellen vorhanden sind und kannst diese dann Anhaken. Alles andere ist kokolores
26. April 201213 j Autor Schlaumeier antwort ^^ das problem ist aber das ich diese Sachen einzeln anhacken muss und zeile für Zeile über das Grid gehen muss... Geht leider nicht ... und ich kann hier nur einen Click auf die Checkbox vortäuschen...
26. April 201213 j Naja aber was erwartest du dann? Das Problem ist ja dann nicht das die eine Abfrage irgendwie zu langsam wäre sondern das du das 100000 mal machst.
26. April 201213 j Innerhalb der Tabellen wird keine Checkbox existieren, die Checkbox ist letztendlich ein GUI Element. Die Antwort von Guybrush ist schon richtig, verändere die Daten auf Datenbank- / Tabellenebene und das geht via SQL. Die Checkbox hat letztendlich irgendeinen Einfluss auf die Datensätze, z.B. indem die Condition verändert wird, d.h. alle Aktionen der GUI lassen sich als SQL Statement interpretieren. Formuliere das SQL Statement passend für Deine Auswahl und führe damit den Inner Join auf Deine zweite Tabelle aus
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.