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

Вниз

большие объемы записей в гридах   Найти похожие ветки 

 
Alexnader   (2002-04-19 23:51) [0]

Есть проблема, которая заключается в том, что при загрузки больгих объемов данных в грид наблюдаются тормоза при переходе на последнюю запись.
при чем время от количества вариантов растет нелинейно.
Возможно, есть способы обойти это? Т.е. чтобы хоть как-то увеличть произодительность/прикрыть тормоза.
Буду благодпрен за любое предложение.
Мыльте ответы на sh1k@svitonline.com
Спасибо.


 
kaif   (2002-04-20 15:45) [1]

Тормоз происходит не в Grid, а в DataSet. Переход напоследнюю запись вызывает столько раз Fetch (выбор строк), сколько нужно, чтобы добраться до конца набора. Есдинственный выход - не делать такие большие наборы. А сам Grid (если это правильный Grid) просто отображает несколько строк, но не копирует в себя набор.


 
DPetrovich   (2002-04-20 16:31) [2]

to kaif ©
Что значит правильный Grid? DBGrid в это смысле правильный?


 
Desdechado   (2002-04-22 19:43) [3]

2 DPetrovich © (20.04.02 16:31)
похоже, да. А вот StringGrid - нет.

2 Alexnader (19.04.02 23:51)
нелинейность наблюдается в завимости от длины записи


 
Alexandr   (2002-04-23 08:50) [4]

1) когда данные закачиваются в грид, или в DataSet, кому как удобнее, то под них на клиентской машине выдяляется место в памяти, и, естественно, чем больше данных, тем больше надо места для их хранения, вплоть до ухода в свопинг.
2) При первом переходе с первой записи на последнюю происходит фетч всех записей с сервера на клиента, т.е. происходит перегон записей по сетке на клиента и при медленной сетке получается медленный фетч, отсюда и тормоза при фетче.


 
Фтвкун   (2002-04-23 17:39) [5]

Подумай еще над проблемой обновления данных на клиентском приложении (при изменении оных в базе) каждый раз делать requery ? А не зае... ? Кто - нибудь ответьте !!!!!!!


 
Alexandr   (2002-04-24 07:08) [6]

2Фтвкун: Это ты кому?


 
Praco   (2002-04-24 11:19) [7]

Моя любимая статья :
http://ib.demo.ru/devinfo/bde.htm

На IB до 6.х я пытался решать проблему так:
Хранимая процедура принимает в качестве параметра кол-во строк, которое нужно вернуть. Дальше For select ... do (здесь счетчик).
Выход по exit... Это в первом приближении.
Но это муторно.
Универсальный совет - ограничивать объем выборки.


 
Sergey13   (2002-04-24 11:49) [8]

2Praco © (24.04.02 11:19)
>Универсальный совет - ограничивать объем выборки.
Полностью согласен.

2Alexnader (19.04.02 23:51)
>Есть проблема, которая заключается в том, что при загрузки >больгих объемов данных в грид наблюдаются тормоза при переходе >на последнюю запись.
Твоя проблема в том и заключается, что ты закачиваешь большие объемы. Это ошибка проектирования приложения. Кому нужен грид с 1000 записей если реально он может видеть одновременно 20-30(т.е. 0.2-0.3% от выборки - остальные 99.8% ты скачал с сервера просто так). Надо продумывать механизм навигации по большим таблицам. Например по первым буквам фамилий, по диапазону дат и т.д и т.п. Клиент-серверная технология тем и отличается от файл-серверной, что позволяет тащить на клиента только то что нужно а не все что есть.



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

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

Наверх




Память: 0.46 MB
Время: 0.008 c
14-64813
MJH
2002-04-05 18:16
2002.05.20
Владельцам Vortex2 посвящается...


1-64653
RaZEr (zabil_parol)
2002-05-08 20:43
2002.05.20
TPageControl : TTabSheet , как создать ?


1-64707
TPavel
2002-05-05 09:47
2002.05.20
Определение активности окна.


1-64736
Хелп
2002-05-07 10:51
2002.05.20
Хелп !!!!!!!


14-64824
Malder
2002-04-10 21:36
2002.05.20
Модераторам...





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