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

Вниз

Как организовать подкачку данных в Grid?   Найти похожие ветки 

 
lovres ©   (2002-10-23 13:56) [0]

Вопрос такой: у меня есть таблица из сорова полей, в которой порядка 2млн. записей, запросом в Delphi я к ней цепляю небольшую табличку и вывожу это всё в DBGrid, но из-за большого количества записей всё это дело жутко тормозит. Подскажите, пожалуйста, как сделать, чтобы запрос вытягивал сначала только малую часть записей, а при навигации по Grid"у подгружались новые и освобождались ранее полученные данные?
Наверное такая проблемма возникала у многих - поделитесь своими сообрадениями, а?


 
Дуся ©   (2002-10-23 15:00) [1]

БДЕ или АДО?


 
NickBat ©   (2002-10-23 15:47) [2]

Ты наверное используешь стандартный TTable?
Для серверных БД используй TQuery. И будет работать именно так, как тебе надо.


 
lovres ©   (2002-10-23 15:58) [3]

Я использую: ADOConnection, ADOQuery, DataSourse, dxDBGrid
Я не сказал, что вышеуказанную процедуру приходится выполнять часто, т.к. эта таблица связна с другой, по которой производится навигация, а уже эта (выборка из 2млн. записей) подтягивается к ней, т.е. при каждом перемещении по записям надо заново проводить выборку, что очень тормозит, вот я и хотел у вас спросить как организовать частичную выборку(например первые 100 строк запроса типа select top 100...) и, что самое интересное, как потом по мере надобности дозапрашивать остальные данные?


 
Виталий Панасенко   (2002-10-23 16:14) [4]

И КТО эти 2 млн. записей и за какое время сможет просмотреть ?!


 
Val ©   (2002-10-23 16:16) [5]

согласен с Виталий Панасенко (23.10.02 16:14).
лучше соорудите какой-нибудь физуальный построитель фильтров для пользователя, пусть балуется.


 
lovres ©   (2002-10-23 16:34) [6]

to Виталий Панасенко
>И КТО эти 2 млн. записей и за какое время сможет просмотреть ?!
Первая таблица - это разные док-ты с номерами
По номеру выдается содержимое док-та из второй таблицы(2млн. которая). Таблицы все проиндексированые, очень приличный сервер, но при перемещении на следующий док-т, содержимое подтягивается где-то через 2 сек(прога пока в разработке, т.е. запускаю её только я, а когда ей будут все пользоваться одновременно тормозить будет сильнее)

to Val ©
>лучше соорудите какой-нибудь физуальный построитель фильтров
фильтровать ничего не надо, просто интересно глянуть на состав док-та, да и выборка содержимого документа - это ж и есть фильтр по коду док-та.


 
Val ©   (2002-10-23 16:43) [7]

можно подробнее примерное описание содержимого таблиц и логику работы?


 
{bas}   (2002-10-23 17:14) [8]

Используй DAO или ODАC там можно сказать по сколько закачивать записей на клиента


 
{bas}   (2002-10-23 17:16) [9]

Извиняюсь сервер перепутал - думал, что Oracle


 
lovres ©   (2002-10-23 17:24) [10]

док-ты:
SELECT
OP.KOOP,//код операции
OP.NOME,//номер Док-та
OP.DATA,//дата
OP.TIPO,//тип операции
ORG.NAZV,//назв. контрагента
AG.NAZV,// назв. агента
OP.SUMM //сумма по док-ту
FROM OPERA OP
JOIN ORGAN ORG ON OP.KODO=ORG.KODO
JOIN AGENT AG ON ORG.KODA=AG.KODA
WHERE OP.TIPO="0"

содержимое(что подтягивается по док-ту):
SELECT
OPT.KOOP,//код операции
OPT.KODT,//код товара
OPT.KOLV,//кол-во
OPT.SPRO,//цена
TOV.NAZV//название
FROM OPTOV OPT
JOIN TOVAR TOV ON OPT.KODT=TOV.KODT
WHERE OPT.KOOP=:KOOP(пар-р из док-та)


 
dim- ©   (2002-10-24 01:31) [11]

Может не надо показывать вторую выборку при навигации, так как ее скорей всего не будут смотреть по каждой позиции, а если интересно посмотреть по позиции, тогда ее и открывай.


 
777 ©   (2002-10-24 01:48) [12]

ADOQuery.CursorLocation:=clUseServer; - подойдет?


 
ЮЮ ©   (2002-10-24 04:08) [13]

А, например, в SQL Explorer второй запрос долго выполняется? И сравни время при повторном выполнении того же запроса и при исправлении значения параметра.



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
3-45694
Slava
2002-10-28 14:02
2002.11.14
Сохранение изминений в БД


6-46017
ElectHp
2002-09-15 12:03
2002.11.14
Потоки в NMHTTP!!!


1-45881
PCpuzik
2002-11-05 14:47
2002.11.14
Пауза в программе


3-45680
ССМП
2002-10-25 10:03
2002.11.14
простой вопрос SQL-запроса


3-45716
kucherav
2002-10-24 12:39
2002.11.14
Help Чайнику!!!