Laden...

Welche Programmiersprache / Vorgehensweise für Datenanalyse

Erstellt von zerberos vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.117 Views
Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 13 Jahren
Welche Programmiersprache / Vorgehensweise für Datenanalyse

Hallo,

ich bin auf der Suche nach der schnellsten Methode zwei Tabellen miteinander zu vergleich.

Tabelle A hat ca 360000 Datensätze. Tabelle B hat ca 1300 Datensätze.

Jetzt möchte ich jeden Datensatz aus Tabelle B mit jedem Datensatz aus Tabelle A vergleichen (verglichen werden 4 definierte Felder)
Wenn eine Übereinstimmung gefunden wurde wird die Id von Datensatz B und Datensatz A in eine dritte Tabelle geschrieben.

Versteht Ihr was ich vorhabe? Welche Programmiersprache ist dafür am besten geeignet (Geschwindigkeit)?

731 Beiträge seit 2006
vor 13 Jahren

SQL? 😄

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 13 Jahren

Ok.

Was gibt es sonst für Möglichkieten ausser eien SQL-Prozedur direkt aufm Server?

5.742 Beiträge seit 2007
vor 13 Jahren

Was gibt es sonst für Möglichkieten ausser eien SQL-Prozedur direkt aufm Server?

Naja - ADO.NET in Verbindung mit einem C#-Programm, z.B.

Aber das beste wird wohl sein, du probierst das einfach mal aus und optimierst. Profiler existieren ja zu Haufe sowohl für .NET als auch für SQL.

1.552 Beiträge seit 2010
vor 13 Jahren

Hallo zerberos,

Was gibt es sonst für Möglichkieten ausser eien SQL-Prozedur direkt aufm Server?

Du vergisst zu sagen wie momentan die Daten gespeichert sind.
Sind sie in einer XML-Datei wirst du wohl LINQ2XML verwenden.
In einer Datenbank kommst du um SQL nicht herum.
Kurz um gesagt kann ich den Vorredner nur Recht geben. Speichere irgendwie deine Daten in einen SQL Server. Dieser hat mehrere Importoptionen, sodass du ohne Probleme Dateien von Excel importieren kannst (falls die Spalten konsequent gehalten sind, sprich in der Spalte "Preis" sind nur Zahlenwerte)

Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

2.891 Beiträge seit 2004
vor 13 Jahren

Was gibt es sonst für Möglichkieten ausser eien SQL-Prozedur direkt aufm Server?

Sofern die Datenquelle eine SQL-Datenbank ist: Naja, jegliche Vorgehensweise, die erstmal die ganzen Daten zum Client übertragen muss, wird performancetechnisch weit hinter eine SQL-Abfrage liegen.
Aber warum so viel Aufwand treiben? Der Vergleich ist doch mit einem einfachen Join gegessen und in die andere Tabelle kannst du mit einem Insert Into Select füllen.

Gruß,
dN!3L

1.346 Beiträge seit 2008
vor 13 Jahren

Ich würde dir raten, einfach mit nem Miniprogramm eine SQL Abfrage dieser Art an den Server zu schicken:

INSERT INTO tabelle3(i1, id2) SELECT tabelle1.id, tabelle2.id FROM tabelle1, tabelle2 WHERE tabelle1.x1 = tabelle2.x1 AND tabelle1.x2 = tabelle2.x2 AND tabelle1.x3 = tabelle2.x3 AND tabelle1.x4 = tabelle2.x4

(das ganze sollte so zumindest für mysql funktionieren, sofern ich mich nicht vertan habe. Bei mssql sollte es genauso, oder ähnlich funktionieren

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 13 Jahren

Hallo,

danke schonmal für eure Antworten.

Ich hab vielliecht noch nicht genug Info's geliefert. Die Daten werden in einer Oracle Datenbank liegen (Alle drei Tabellen)

1.346 Beiträge seit 2008
vor 13 Jahren

habe von oracle eigendlich keinen schimmer, habe mich aber kurz ein wenig umgesehen, und mein Ansatz sollte dort doch auch funktionieren, oder lege ich da falsch?

Gruß pdelvo

1.552 Beiträge seit 2010
vor 13 Jahren

habe von oracle eigendlich keinen schimmer, habe mich aber kurz ein wenig umgesehen, und mein Ansatz sollte dort doch auch funktionieren, oder lege ich da falsch?

Auch Oracle wird mit Sicherheit Subqueries unterstützen. Genaueres wird der Themenersteller sicher in der zuständigen Dokumentation finden.

Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp