Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
8-1092253140
Константинов
2004-08-11 23:39
2005.01.09
Измерение уровня звукового сигнала.


4-1100794557
Neiron
2004-11-18 19:15
2005.01.09
Общее кол-во секций.


1-1103623777
opel
2004-12-21 13:09
2005.01.09
как вставить символ в таблицу


6-1098442071
Stlh
2004-10-22 14:47
2005.01.09
UDP (multicast) loopback в 98й.


1-1103636003
Kat
2004-12-21 16:33
2005.01.09
Есть ли разница в быстродействии и доступе, если поле




   Наверх