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

Вниз

Медленное выполнение ADODataSet1.Next   Найти похожие ветки 

 
Виктор23   (2004-12-08 16:39) [0]

Господа, вот какой вопрос:
Есть ADODataSet1, в нем примерно 50000 записей. Выполнение ADODataSet1.Next тем дольше, чем ближе позиция к концу датасета.
То есть, при последовательном переборе при смещении позиции время выполнения ADODataSet1.Next пропорционально увеличивается. Причем увеличивается значительно(10-20 милисекунд уже к 20000-позиции)
При выполнении ADODataSet1.Recordset.MoveNext такого не наблюдается, что дает основания полагать, что дело все же не в ADO, а в ее дельфовой обертке.
Но нужно использовать именно ADODataSet1.Next.

И у меня вопрос: возможно кто-то сталкивался с этим и знает, в чем тут причина медленного выполнения ADODataSet1.Next?
Может, какое-то свойство нужно установить правильно?

P.S. У TClientDataSet такого не наблюдается. Все происходит влет.


 
sniknik ©   (2004-12-08 17:01) [1]

курсор клиентский или серверный?

ClientDataSet всегда работает как клиентский.


 
Dok_3D ©   (2004-12-08 20:41) [2]

2 sniknik

В том то и дело что клиентский. Причем пробовал даже без базы данных. Делал просто, создавал структуру полей, затем ADODataSet1.CreateDataSet.
И добавлял большое количество записей. Все равно, чем дальше от начала датасета - тем драматичней.
Что за напасть ...


 
Dok_3D ©   (2004-12-08 20:45) [3]

Виктор23 и Dok_3D[2]- в данном контексте участники одной и той же ситуации. Надеюсь, понятно...


 
sniknik ©   (2004-12-08 21:04) [4]

Dok_3D ©   (08.12.04 20:41) [2]
> Причем пробовал даже без базы данных. Делал просто, создавал структуру полей, затем ADODataSet1.CreateDataSet.
можеш прислать этот тест? проверю на 7й дельфе.


 
Dok_3D ©   (2004-12-08 23:53) [5]

2 sniknik ©  
Обязательно вышлю. Завтра поутру.


 
ocean   (2004-12-09 10:17) [6]

может, сделать stored procedure?


 
Dok_3D ©   (2004-12-09 11:23) [7]

2 ocean  
>>сделать stored procedure?

Не понял, какая тут связь... Но это не главное.

А главное то, что я нашел, в чем причина.
Если вызвать ADODataSet1.DisableControls, то все происходит влет.
Уряя...



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

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

Наверх




Память: 0.48 MB
Время: 0.059 c
1-1103645452
Shnabs
2004-12-21 19:10
2005.01.09
Работа с текстом


3-1102493647
Ученик
2004-12-08 11:14
2005.01.09
Статический алиас для BDE


4-1100790422
integer
2004-11-18 18:07
2005.01.09
Подскажите как найти в какой *.dll сидят свойства притера


14-1103124078
Opilki_inside
2004-12-15 18:21
2005.01.09
Декомпилировать SW Flash


14-1103525707
syte_ser78
2004-12-20 09:55
2005.01.09
завершение работы приложения