Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Базы";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1145605287
adim
2006-04-21 11:41
2006.05.07
SQL


15-1144846025
Курдль
2006-04-12 16:47
2006.05.07
Америка глазами программиста


2-1145601227
TrainerOfDolphins
2006-04-21 10:33
2006.05.07
TForm.OnActivate или . . .


15-1145089520
Cerberus
2006-04-15 12:25
2006.05.07
Хостинг


1-1143648877
LittleGirl
2006-03-29 20:14
2006.05.07
Работа с dll из CBuilder и из Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский