Обьясните глупому ну вот что не так.
1. Запускаем IbExpert создаем таблицу (4кб страница)
Код: Выделить всё
CREATE TABLE URLS (
ID INTEGER
);
2. Запускаем Delphi кидаем три компонента FIBPlus, все настройки по умолчанию. и две кнопки
3. Добавим в базу 10,000 integer
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
pFIBTransaction1.StartTransaction;
pFIBQuery1.SQL.Text:='insert into urls (id) values (:id)';
pFIBQuery1.Prepare;
for i:=1 to 10000 do
begin
pFIBQuery1.ParamByName('id').AsInteger:=i;
pFIBQuery1.ExecQuery;
end;
pFIBTransaction1.Commit;
end;
4. Закроем программу, зупустим опять
Пытаемся много раз нажимать на вторую кнопку просто обнуление
вот код.
----------------------------------------------------
Код: Выделить всё
pFIBTransaction1.StartTransaction;
pFIBQuery1.SQL.Text:='update urls set id=:id';
pFIBQuery1.Prepare;
pFIBQuery1.ParamByName('id').AsInteger:=0;
pFIBQuery1.ExecQuery;
pFIBTransaction1.Commit
Время выполнения этого запроса от 0.02 сек до 23 секунд?
Ну как такое может быть, я понимаю там версионность все дела?
Ну блин 40Килобайт должно занимать это добавление каждые раз.
10,000*4 (integer)
Как это может (временами вот раз 5 хорошо потом тормоз)??? ТОРМОЗИТЬ Fb2 на Athlon 64 3200+ 1Гиг ОП.
1. Отключил всяких касперских, outposto и.т.д
2. Название базы fdb - значит виндовс не может ресторить.
3. Размер файла базы несколько мегабайт.
Где моя тупость или тут Фазы Луны Firebird ? (Fb2 Server, XP Prof)
Смешно просто 23 секунды, с какойто непонятной периодичностью, на 2-5 мегабайтах базы при такой машине а?