Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

Подскажите, как ускорить следующую операцию. Копирую изтаблицы   Найти похожие ветки 

 
Георгинчик   (2002-05-02 14:02) [0]

АА в таблицу ZZ все поля при этом меняю тип одного поля со строкового на Real. В таблице порядка 40 000 - 60 000 записей. Обработка выглядит так:

aa.Active := True;
zz.Active := True;
aa.Append;
zz.Append;
aa.Edit;
aa.First;
zz.Insert;
while not aa.Eof do
begin
zz.FieldValues["PHONE"] := aa.FieldValues["PHONE"];
zz.FieldValues["CALL_DATE"] := aa.FieldValues["CALL_DATE"];
...
zz.FieldValues["SUMMA"]:=strtofloat(aa.FieldValues["SUMMA"]);
aa.Next;
zz.Next;
end;
aa.Edit;
zz.Post;

Работает очень долго, можно ли ускорить? Спасибо!


 
DPetrovich ©   (2002-05-02 14:37) [1]

Сделать запрос на выполнение

insert into ZZ
select
... ,
SUMMA=convert(float, SUMMA) -- или аналог для вашей СУБД
, ...
from AA


 
Ura   (2002-05-02 14:40) [2]

1. Попробуй сделать кеширование - если много памяти. И в конце только применить.
2. Не открывай ZZ а напиши хранимую процедуру на вставку в ZZ.
3. Раздели aa на несколько частей и запускай их паралельно - если выдержит сервер лавины запросов.
4. Проверь может в ZZ есть индексы - так вот надо отключить, а потом пересоздать.


 
suds ©   (2002-05-02 19:53) [3]

Согласен с Ura....
А еще, если не юзаешь SQL, можно пользовать insertrecord
Работает быстрее.... проверено



Страницы: 1 вся ветка

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
14-88627
DRUG
2002-04-19 17:59
2002.05.27
Regedit


1-88414
mihrutka
2002-05-16 15:02
2002.05.27
Unit was compiled with a different version


1-88480
Vladimir_Shk
2002-05-13 17:44
2002.05.27
Проблема с отладчиком.


3-88340
rex
2002-04-30 12:41
2002.05.27
Хочу сделать дистрибутив проги с FireBird


14-88619
lipskiy
2002-04-18 23:44
2002.05.27
Все, отправившие и отправящие записи в UBPFD, проконтролируйте!