Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   RecordCount vs. count(*). Was ist schneller? (https://www.delphipraxis.net/164949-recordcount-vs-count-%2A-ist-schneller.html)

ibp 7. Dez 2011 15:13

AW: RecordCount vs. count(*). Was ist schneller?
 
Warum testest du die Varianten nicht aus?

Hab eben mal getestet auf interbase xe...

myfeld varchar(32) index vorhanden
Suchstring ist 2368 mal vorhanden
Tabelle hat 554832 Datensätze

Code:
select count(myfeld) from Tabelle where myfeld=:Suchstring
time: 00:00:00.0031 (1 mal)
time: 00:00:02.0406 (100 mal hintereinander)
      
select 1 from Tabelle where myfeld=:Suchstring rows 1      
time: 00:00:00.0016 (1 mal)
time: 00:00:00.0516 (100 mal hintereinander)

select myfeld from Tabelle where myfeld=:Suchstring rows 1;
time: 00:00:00.0016 (1 mal)
time: 00:00:00.0500 (100 mal hintereinander)

select count(*) from Tabelle where myfeld=:Suchstring
time: 00:00:00.0031 (1 mal)
time: 00:00:02.0532 (100 mal hintereinander)
      
select myfeld from Tabelle where myfeld=:Suchstring
time: 00:00:00.0078 (1 mal)    
time: 00:00:07.0953 (100 mal hintereinander)

Daraus ergibt sich ein klarer Vorteil beim limitieren der Datensätze!

hoika 7. Dez 2011 15:20

AW: RecordCount vs. count(*). Was ist schneller?
 
Hallo,

Count(*) und Count(field) tun sich nicht viel.

Solange du nicht Select * nimmst, wirst du keinerlei Probleme haben.

Ich benutze Count(*), weil das u.a. in FB (ich weiss, es geht um Oracle) optimiert wurde,
ich glaube das Select (Field) nicht.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.
Seite 2 von 2     12   

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