Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Вниз

for i := 0 to table1.RecordCount-1 do begin   Найти похожие ветки 

 
the-best-officeman   (2002-07-18 21:06) [0]

НУЖНА ПОМОЩЬ МАСТЕРА

всего в базе ( 53"000 ) записей...
Во время выгрузки одной базы в другую. скорость копирования записей начинает ПАДАТЬ...
и где-то на 8"000 записи скорость гдето - 50 записей в секунду. А что дальше ???
что-то я непойму почему так происходит. может подскажите где собака зарыта.

DataSource1.DataSet.First;
with DataSource1.DataSet do begin
form2.show;
form1.enabled:=false;
while not Eof do begin
for i := 0 to table1.RecordCount-1 do begin
DSadvanc.DataSet.Insert;
Tadvanc.Fields[0].text:=table1.Fields[0].text;
Tadvanc.Fields[1].text:=table1.Fields[1].text;
Tadvanc.Fields[2].text:=table1.Fields[3].text;
Tadvanc.Fields[3].text:=table1.Fields[5].text;
Tadvanc.Fields[4].text:=table1.Fields[6].text;
DSadvanc.DataSet.post;
Next;
end;
end;
form1.enabled:=true;
form2.close
end;end;


 
German Ivanov   (2002-07-19 04:27) [1]

очень похоже на то что у тебя в результирующей базе есть индексы или
ключи.
Cотри их перед началом копирования и пересоздай после того как его закончишь.


 
ПИТОН   (2002-07-19 05:50) [2]

А зачем так сложно?
Поробуй добавлять SQL-запросом


 
ЮЮ   (2002-07-19 07:09) [3]

Query.Text:="Insert into advans(f0,f1,f2,f3,f4) select g0,g1,d3,g5,g6 from table1 where ....";
Query.ExecSQL;


 
VAleksey   (2002-07-19 08:18) [4]

Да. либо как
> ЮЮ (19.07.02 07:09)

либо попробуй метод Table1.BatchMove
либо используй компоненту BatchMove.



 
Виталий Панасенко   (2002-07-19 08:56) [5]

А можно установить CashUpdate=True и после всего вызвать AplyUpdates


 
Психиатр   (2002-07-19 09:09) [6]

>Виталий Панасенко (19.07.02 08:56)

А можно еще Close и после всего вызвать Open.
А можно еще поставить Вам диагноз.


 
NDR   (2002-07-19 09:47) [7]

BatchMove копирует в лоб.
мне нужно синхронизировать ПО ОПРЕДЕЛЕННЫМ полям!
Как это сделать ?

С УВажением, Officeman


 
ЮЮ   (2002-07-19 09:51) [8]

TBatchMove.Mappings (из Help-а)

Mappings is a list of column mappings (one per line) in one of two forms. To map the column ColName in the source table to the column of the same name in the destination table, use:

ColName

To map the column named SourceColName in the source table to the column named DestColName in the destination table, use:

DestColName=SourceColName


 
ShuraGrp   (2002-07-19 10:26) [9]

Лучше, конечно, использовать конструкцию ЮЮ (19.07.02 07:09).
Если использовать твою конструкцию, то
for i := 0 to table1.RecordCount-1 do begin
надо заменить на
while not table1.Eof do begin
Это должно значительно ускорить процесс, т.к. не будет вычисляться RecordCount на кажной итерации.



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

Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
1-24086
SuMaga
2002-07-25 12:13
2002.08.08
вот такая вот непонятная Фигня?


1-24095
ValeX
2002-07-17 17:19
2002.08.08
надо нечто StrToArray


6-24160
начинающий програмер
2002-05-24 22:29
2002.08.08
Баннеры


3-23933
BS
2002-07-18 10:19
2002.08.08
Помогите не всегда работает ADO


4-24267
Baz
2002-05-31 17:27
2002.08.08
Обработка сообщения WM_SIZING





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский