Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выбор варианта вычислений [D7]


Taurus ©   (2006-03-14 19:14:00) 

Здравствуйте!
Дайте, пожалуйста, совет по следующей ситупции. Имеется не очень большая БД (основные таблицы порядка 10 тыс. записей), полей - около 10. Но с исходными данными производится очень большое количество разноообразных вычислений, после чего подсчет всевозможных количеств, средних и т.п. - типичный инженерный расчет. Каким образом лучше произвоить вычисления - создавать для этого временные рабочие таблицы или все просчитывать в Rave report (там получаются очень длинные вычислительные цепочки)? Какой из вариантов предпочесть?


Taurus   (2006-03-14 19:42:00) [1]

Спасибо, еще подумаю.


Vlad   (2006-03-14 19:39:00) [2]


> Taurus   (14.03.06 19:37) [10]



> Машина, на которой будет эксплуатироваться, очень-очень
> дохленькая - скорость выполнения операций здесь существенна


Это имелось ввиду для клиент-серверных баз, у тебя Paradox, так что этот вариант с серверными процедурами отпадает.


Taurus   (2006-03-14 19:37:00) [3]

> если вычислений много несложных, но с большим объемом данных,
>  то, имхо, стоит
> для 10 тыс записей, имхо, фиолетово

Машина, на которой будет эксплуатироваться, очень-очень дохленькая - скорость выполнения операций здесь существенна


Vlad   (2006-03-14 19:36:00) [4]


> Taurus   (14.03.06 19:31) [6]


> Массив в смысле массив - array?

Ну да. Или как я делал - TList


Taurus   (2006-03-14 19:32:00) [5]

> Не знаю, стоит ли сервер нагружать, особенно если в системе
> реально много пользователей.

Пользователей в системе 1-2


Taurus   (2006-03-14 19:31:00) [6]

> СУБД не указана, а жаль
Paradox :((

> засунуть данные в какой нибудь промежуточный массив

Массив в смысле массив - array?


Desdechado   (2006-03-14 19:31:00) [7]

> стоит ли сервер нагружать
если вычислений много несложных, но с большим объемом данных, то, имхо, стоит
для 10 тыс записей, имхо, фиолетово


Vlad   (2006-03-14 19:29:00) [8]


> Desdechado ©   (14.03.06 19:26) [3]


Не знаю, стоит ли сервер нагружать, особенно если в системе реально много пользователей.
Идеальный вариант, imho - это трехзвенка в данном случае. И все вычисления - в сервер приложений.


Desdechado   (2006-03-14 19:26:00) [9]

СУБД не указана, а жаль
я такие громоздкие вещи обычно на сервере в ХП делаю


Vlad   (2006-03-14 19:26:00) [10]


> Taurus   (14.03.06 19:24) [2]
> А мне его отображать вообще не надо, сразу на печать.

Тем более.
Смысл в том, что если вычисления действительно сложные и громоздкие, то быстрее будет засунуть данные в какой нибудь промежуточный массив, и там делать все вычисления. Т.к. оперировать DataSet-ом при вычислениях - это весьма небыстро.


Taurus   (2006-03-14 19:24:00) [11]

А мне его отображать вообще не надо, сразу на печать.


Vlad   (2006-03-14 19:21:00) [12]


> Taurus   (14.03.06 19:14)  


10 тыс. записей на одну таблицу - это не так уж и много.

Лично я, когда была необходимость сложных расчетов, для ускорения поступал следующим образом: собирал с помощью запросов всю информацию на клиента, засовывал в TList, содержащий record-ы нужной структуры, и все сложные и громоздкие вычисления производил уже там.
Результат выкладывал в TClientDataSet, чтобы потом можно было легко отобразить в DB - контролах


Наверх

Титульная страница Поиск, карта сайта Написать письмо