Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2009, 06:45   #11
Timpi
Пользователь
 
Аватар для Timpi
 
Регистрация: 20.10.2007
Сообщений: 29
По умолчанию

Я же дал тебе описание в 3 шага. Сейчас думай сам, ты же там царь и бог, все ньюансы знаешь лучше нас. Раз хочешь сделать так как ты решил, то делай так, тем более, что есть к этому предпосылки.
Чем тебе не нравится эта схема? Что не понятно?
Тебе не надо создавать постоянно dbf-файлы и удалять их, просто у тебя постоянно присутствует буфферная таблица в которую постоянно записываются поступающие данные, которые обрабатываются и отправляются на сервер, потом подчищаются. Ну и что, что не успели сгруппироваться и отправиться все данные на главный сервер, они же не удаляться они останутся и отправятся потом.
Распишу поподробнее. Вот тебе пришло 10000 записей и ты их обрабатываешь: выбрал 1-го чела (например SELECT DISTINCT buff_tab.key_field FROM buff_tab, по-моему правильно написал, проверь сам, в этой выборке должно быть 300-400 записей с разными людьми, по которым ты можешь перебирать, DISTINCT - исключает повторы), делаешь по нему выборку с суммированием (шаг 1), записываешь эту одну выборку на главный сервер (шаг 2), удаляешь записи по этому челу (шаг 3). Пускай записей на первом шаге выбралось 500, соответственно на 3-м шаге удалилось 500, осталось 9500. Далее по другому челу также, останется 9100 записей и т.д. Как видишь за 2 шага у тебя 900 записей на локальной машине превратились в 2 запроса к главному серверу. Результат достигнут (или нет?).
Предположим не успели обработать все записи и осталось 3000, пришла новая партия в 15000 записей. Не беда. На шаге 1 выборка будет делаться из 18000 записей и т.д.
Можно ещё извратиться. Делать выборку с челом количество записей с которым больше всего встречается в буфферной таблице и далее по плану.
Timpi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Агрегатная функция SUM для DateTime _SERGEYX_ БД в Delphi 6 09.02.2009 12:40
Использование атрибутов count и sum Dianaa Помощь студентам 3 16.09.2008 22:51
Как поставить заставку перед запуском главной формы программы? NiganInterCOM Общие вопросы Delphi 2 22.02.2008 16:11
Как сделать регистрацию и авторизацию пользователей перед входом в программу, БД. zorro БД в Delphi 18 28.08.2007 11:04
как из Delphi определить под какой учетной записью осуществлен вход в систему zetrix Безопасность, Шифрование 1 29.10.2006 11:14