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

Вниз

Медленное выполнение 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.03 c
14-1103707033
Hypercube
2004-12-22 12:17
2005.01.09
Программы как исполняемая информация


1-1103826637
Пыч
2004-12-23 21:30
2005.01.09
Project>Resources


3-1102486661
Владимир С.
2004-12-08 09:17
2005.01.09
возможно ли составить запрос?


4-1100890082
Japp
2004-11-19 21:48
2005.01.09
Как получить информацию о типе открытого Хендла?


14-1103484392
Черный прапорщик
2004-12-19 22:26
2005.01.09
Вот, решил поитересоваться





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский