Главная страница
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.024 c
14-1103524788
ocean
2004-12-20 09:39
2005.01.09
Что круче, программист или менеджер?


8-1096944491
Ozone
2004-10-05 06:48
2005.01.09
Video for Windows


14-1103716377
DSKalugin
2004-12-22 14:52
2005.01.09
Мыши и прочие домашние животные


14-1103288551
shurik_212
2004-12-17 16:02
2005.01.09
Точка на цифровой клаве


1-1103738277
Petruchello
2004-12-22 20:57
2005.01.09
Дайте исходник чистильщика...