![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выбор варианта вычислений [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 - контролах