Das ist nicht dein Ernst, Du liest 3+ Mio Datensätze ein, nur zu ermitteln wieviel es sind?
Delphi-Quellcode:
aQuery.Sql.Text := 'select count(*) from database where material = :material;';
aQuery.Paramters.Params[0].asString := 'Alu';
aQuery.Open;
LoopIndex := aquery.Fields[0].asInteger;
sollte das Selbe machen nur halt schenller und mit minimalen Speicherverbrauch!!!