Есть вот такой код
- Код: Выделить всё
while not dbIt.EOF do
begin
If Copy(dbIt.Fields.FieldByNumber(1).AsString,1,Length(edit1.Text)) = edit1.Text then
begin
dbit.Delete;
end
else
begin
dbIt.Next;
end;
end;
При работе с dbf файлами до 15000 записей нет никаких проблем, но если количество записей больше, то скорость обработки начинает падать. в файле с 35000 записей первые 15000 пролетают за 2-3 секунды, а остальные более 3 минут.
Это нормально? Или я что-то делаю не так? Есть какие-нибудь предложения как добиться нормальной скорости работы?
P.S.Lazarus 0.9.28.2 beta FPC 2.2.4