Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

Vorhandensein eines Records prüfen

  Alt 13. Jul 2017, 08:35
Datenbank: FB • Version: 2.01 • Zugriff über: egal
Hallo,
oft muss ich prüfen, ob mindestens ein Record in einer Tabelle vorhanden ist

Version 1
die klassische Vorgehensweise: Select Count(*)

Version 2
wir nutzen "neue" FB-Funktionen
Select First 1 Wert From Tabelle

Version 3
tricky Ausnutzung von Firebird-Besonderheiten beim Exists
Select 1 From RDB$DataBase Where Exists(Select Wert From Tabelle)
Wobei das durch Version 2 mit dem First ja jetzt wohl gegenstandslos ist


Das Where habe ich weggelassen, auf dem Where-Feld ist auf jeden Fall ein Index.
Die Suche läuft also auf jeden Fall über einen Index
(viele Datensätze, gute Selektivität des Suchfeldes)

Mein Gefühl sagt mir, dass Version 2 die schnellste Variante ist.
Der Query-Plan ist aber bei V1 und V2 der gleiche.


Was meint Ihr?
Heiko
  Mit Zitat antworten Zitat