AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken TUniQuery liefert falschen RecordCount
Thema durchsuchen
Ansicht
Themen-Optionen

TUniQuery liefert falschen RecordCount

Ein Thema von Andidreas · begonnen am 4. Dez 2013 · letzter Beitrag vom 5. Dez 2013
 
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#16

AW: TUniQuery liefert falschen RecordCount

  Alt 5. Dez 2013, 07:12
Ein Select count(*) sollte in jedem Fall(!) schneller sein, als das vollständige Laden (Last) der Daten auf den Client. Selbst wenn es eine lokale DB ist, muss an dieser Stelle die Datenmenge von der DB-Datei mindestens in den Anwendungsspeicher übertragen werden.
Eine halbwegs schlaue Implementierung bzw. Optimierung einer Count(*) Anfrage wird außerdem nicht die Datenmenge aufbauen (wozu, wollte keiner wissen), sondern nur die join - und where Kriterien prüfen und zählen.
Und das sollte jedes am Markt etabliertes RDBMS sehr gut können. Genauer gesagt, sollte jeder Server selbst am besten wissen, wie er die exakte Ergebnismenge so schnell wie möglich bestimmt. Das vollständige Laden und Durchzählen am Client ist dagegen brute force. (Wenn ich weiß, dass ich auf jeden Fall alle diese Daten brauche, ist es natürlich egal bzw. sinnlos, sie separat per Count zu zählen)
Sinnlos ist eine eigene Verwaltung von Datenmengen. Dieses Rad wurde schon erfunden und zwar von den Anbietern der RDBMS, spätestens beim ersten Join nützt die Eigenimplementierung wohl eh nichts.
Ich beziehe mich damit auf echte RDBMS, keine BDE, ISAM usw Systeme.

P.S.: Ich kann auch in einem SingleUser System ohne Probleme verschiedene Counts zustande bringen, sobald ich mit getrennten Connections/Transaktionen arbeite, threaded, .. arbeite. Beispielsweise bei einem Datenimport im Hintergrund, der dummerweise vielleicht sogar noch mit Teilcommits. implementiert ist.
Gruß, Jo

Geändert von jobo ( 5. Dez 2013 um 07:15 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz