Вниз
Скачать: CL | DM;

Работа с большими обьемами данных   Найти похожие ветки 

← →
Domkrat   (2002-11-12 12:14) [0]

Задача создать навигационную систему с исп. SQL.
Есть два запроса к одной мастер таблице, первый
состоит из одного поля(Primary-key), а второй
из всех полей. Эти два запроса связаны Master-Det
соотношением.

Навигация осуществляется по первому датасету, который
зараннее отфетчен. Посути происходят запросы к одной
записи во втором датасете, который содержит множество
Look-Up полей.

Все это сделано для ускорения работы т.к. таблица ~150 тыс!
И собственно вопрос: Как обновить первый датасет котороый содержит столбец из 150 тыс. записей при добавлении другим пользователем новой записи.
Метод Open->Close не приемлем т.к. он приводит к повторному
фетчению(Query.FetchAll).


Если есть умные дяди и тети, помогите пожалуйста.


← →
Jeer ©   (2002-11-12 12:27) [1]

Как сделать Землю квадратной ?
Такие вопросы не мучают ?


← →
ЮЮ ©   (2002-11-12 12:55) [2]

>Все это сделано для ускорения работы т.к. таблица ~150 тыс!

Для ускорения работы надо отбирать ровно столько записей, с которыми пользователь реально будет работать. И переоткрыть такой запрос не составит никакого труда :-)


← →
Domkrat   (2002-11-12 19:11) [3]

Это все весело, но помоему проблема насущная.
Т.к. DataSet т.к. DataSet позволяет получить
полный набор данных, что очень удобно для
перемещения по нему (First, Last и т.д.), я
думаю это надо использовать.
А как обновить данные не закрывая DataSet,
моя идея такая: ставлю тригер на Inset и через
Alerter шлю всем клиентам новый ID_(имеется еще
и отвлеченный ID который построен на тригере)
, который добавляется в их датасеты,
при этом конечно свойство CashUpdates:=True.
Получаем систему реального времени.

По поводу работай с теми записями которые
нужны:
пользователю необходимо пройти все записи
подрят из изменить какой либо реквизит.


← →
Jeer ©   (2002-11-12 19:42) [4]

Не превращай пользователей в администраторов.
Задача update по условию гораздо проще решается


← →
ЮЮ ©   (2002-11-13 08:33) [5]

>пользователю необходимо пройти все записи подрят
150 тыс. записей ? И после такого прохода он сможет правильно изменять данные?


← →
Andriano ©   (2002-11-13 08:40) [6]

Большой объём данных и (FIRST, NEXT, LAST, FETCHALL) - ВЕЩИ НЕ СОВМЕСТИМЫЕ!. Это только первая проблема, с кот. ты столкнулся.
Надо опираться только на SQL и проблем не будет.



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

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



Память: 0.46 MB
Время: 0.017 c
1-4422
Ag2002
2002-11-23 12:21
2002.12.02
ListView1.Items.Delete(i);


3-4249
_pavel_
2002-11-14 13:53
2002.12.02
Apollo и даты


3-4190
Андрей Прокофьев
2002-11-13 13:44
2002.12.02
Дата в MSSQL и Delphi


1-4435
Ренат
2002-11-19 08:24
2002.12.02
Типизированные файлы


1-4468
delphi4fun
2002-11-19 20:06
2002.12.02
Замена подстроки в строке




   Наверх