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

Выбор варианта вычислений   Найти похожие ветки 

← →
Taurus   (2006-03-14 19:14) [0]

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


← →
Vlad ©   (2006-03-14 19:21) [1]


> Taurus   (14.03.06 19:14)  


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

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


← →
Taurus   (2006-03-14 19:24) [2]

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


← →
Desdechado ©   (2006-03-14 19:26) [3]

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


← →
Vlad ©   (2006-03-14 19:26) [4]


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

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


← →
Vlad ©   (2006-03-14 19:29) [5]


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


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


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

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

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

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


← →
Desdechado ©   (2006-03-14 19:31) [7]

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


← →
Taurus   (2006-03-14 19:32) [8]

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

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


← →
Vlad ©   (2006-03-14 19:36) [9]


> Taurus   (14.03.06 19:31) [6]


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

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


← →
Taurus   (2006-03-14 19:37) [10]

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

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


← →
Vlad ©   (2006-03-14 19:39) [11]


> Taurus   (14.03.06 19:37) [10]



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


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


← →
Taurus   (2006-03-14 19:42) [12]

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



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

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



Память: 0.47 MB
Время: 0.035 c
2-1145298922
que
2006-04-17 22:35
2006.05.07
WriteFile & WriteFileEx


4-1140269229
msn777
2006-02-18 16:27
2006.05.07
Как реализовать запись на винт непрерывного потока данных


2-1144954625
Couter Terranist
2006-04-13 22:57
2006.05.07
Помогите с SQL-запросом


15-1143801171
Layner
2006-03-31 14:32
2006.05.07
Библиотека AllLib, кто автор и если оф. сайт?


5-1130827877
JohnKorsh
2005-11-01 09:51
2006.05.07
Как позиционировать курсор в Memo и в RichEdit?




   Наверх