![]() |
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! |
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. |
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