Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Select Abfrage Performance
Capi
myCSharp.de - Member



Dabei seit:
Beiträge: 203
Herkunft: Bräunlingen, Schwarzwald

Themenstarter:

Select Abfrage Performance

beantworten | zitieren | melden

Hi

wenn ich eine Select abfrage mache auf eine Access datenbank dann braucht die beim ersten eintrag ewig aber bei den anderen geht es 10 mal so schnell an was liegt das?

Meine Select Abfrage:
DataRow[] myDataRow = dtsGesamt.Tables["AktProjekte"].Select("Projektnummer= " + comboBoxProjektChange.SelectedValue +" AND Mitarbeiternummer = "  + oSetup.SetGetiMitarbeiternummer.ToString());

Die Mehrfachabfrage erfolgt, da ich eine Combobox habe in der versch. Projekte gelistet sind. Wenn ich jetzt auf ein anderes Projekt klicke dann braucht es ewig beim ersten mal bis er die erforderlichen Daten ermittelt hat.

Hoffe das weiss einer

Mfg
Andi
private Nachricht | Beiträge des Benutzers
Capi
myCSharp.de - Member



Dabei seit:
Beiträge: 203
Herkunft: Bräunlingen, Schwarzwald

Themenstarter:

beantworten | zitieren | melden

Sodele nach mehrstündigen Test hab ich festgestellt warum hier soviel performance verloren geht. Und zwar ist die Projektnummer länger als 10 Stellen dann braucht die Select Abfrage ewig. Liegt wohl am OleDbDataAdapter das der da probleme hat.

Nur so als Info falls jemand mit OleDb und großen Datenmengen arbeiten will sollte er lieber auf SQL ausweichen -> denk mal der ist schneller(hab aber keine Erfahrung damit)

Mfg
Andi
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10074

beantworten | zitieren | melden

Nun, da du mit dem o.a. Source arbeitest, frage ich mich, wo da der OleDb oder
SqlClient zum Einsatz kommt.

Ist es in "SetGetiMitarbeiternummer"?
Ansonsten arbeitest Du nämlich nur im DataSet und damit im Hauptspeicher deiner Maschine.
Da kann dir der SQL-Server auch nicht helfen.

Aber ansonsten, ist dein Resultat schon richtig, wenn Du eine Echte Datenbank
mit einigen hundert Tausend Datensätzen hast ist Access wirklich überfordert.

Wofür sind wohl so dinger wie der SQL-Server, Oracle, DB2 o.ä. entsanden?
private Nachricht | Beiträge des Benutzers
CarstenP
myCSharp.de - Member



Dabei seit:
Beiträge: 65
Herkunft: Berlin

beantworten | zitieren | melden

Zitat
Original von FZelle
Wofür sind wohl so dinger wie der SQL-Server, Oracle, DB2 o.ä. entsanden?
Hm, dafür, dass sich manche Unternehmen die **** ihrer Eigner vergolden lassen wollen? Man nehme MySQL, optimiere den Server bis zum Anschlag, schreibe sauberen Code, umgehe alles, was MySQL ausbremst, weil die Entwickler keinen Bock drauf haben, sinnloses Zeug zu optimieren (zB "inner joins") und fahre einen Benchmark gegen Oracle, mySAP, DB2 & Co...
/// <summary>
/// Signatur
/// </summary>
private Nachricht | Beiträge des Benutzers
cdr
myCSharp.de - Member



Dabei seit:
Beiträge: 1008
Herkunft: Zürich

beantworten | zitieren | melden

Nur weil du das R von RDBMS nicht magst heist es noch lange nicht, dass das R bei einem RDBMS sinnlos ist ... (falls es kein RDBMS sein will ist wohl SQL ohnehin der falsche Ansatz)
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10074

beantworten | zitieren | melden

Für CarstenP:
Hast Du schon mal gesehen was MySql macht, wenn eine Kleine
DB mit etwa 170 Tabellen und mehreren Hundert Millionen Datensätzen
Verwaltet werden soll.

Und wenn Du was wirklich schnelles brauchst, dann nimm SQLite.

Und diese Typisch Antikapitalistische Antwort ist bezeichnend für
Leute die nicht genau wissen worüber sie reden.
Die Eigner von Oracle und MS sind deswegen so Reich geworden,
weil sie anscheinend etwas verkauft haben, was andere haben
wollten.
Ob das Zeug gut oder schlecht ist, sei dahingestellt, aber
wieso willst Du für deine Arbeit Geld haben, aber ausgerechnet
den SW-Entwicklern willst Du es nicht zugestehen?

Wie heisst es so schön : Erst Hirn einschalten, dann reden.
private Nachricht | Beiträge des Benutzers