![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 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 записей и т.д. Можно ещё извратиться. Делать выборку с челом количество записей с которым больше всего встречается в буфферной таблице и далее по плану. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Агрегатная функция 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 |