Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Access und ADO:Count DB-Einträge und Return des Ergebnis

  Alt 2. Mär 2006, 11:41
Zitat von Mavarik:
Aber die ADOTable holt nicht alle Datensätze um die Anzahl zu ermitteln...!
Das hängt bei ADO von der CursorLocation ab. Bei clUseClient werden alle Datensätze zum Client transportiert.
Bei clUseServer werden Datensätze nur auf Anfrage des Clients geliefert.
Die Belastung mit den vielen Daten wird somit nur dem Server untergeschoben.
Der Ms SQL Server hat so unter Umständen schwer zu kämpfen, denn die Abfrage wird eben serverseitig ausgeführt.
Die Jet-Engine (Access) ist ein Sonderfall, da Server und Client der gleiche Rechner ist.
Bei clUseClient findet eine bremsende Doppelpufferung statt.
Nichtsdestotrotz bewirkt ein Aufruf von TADOTable.RecordCount in der Jet-Engine ein "Full Table Scan",
während "SELECT Count(*) FROM ..." um ein mehrfaches Effizienter ausgeführt wird.
Andreas
  Mit Zitat antworten Zitat