Tema: Skaiciavimo optimizavimas
Autorius: Donatas
Data: 2010-04-10 11:22:05
Sveiki,

turiu situacija, kuri panaši i bankinių palūkanų skaičiavimą kaupiamiesiems 
indėliams. Esmė tokia.
Turime DB irašus: Data, Suma. Galima padidinti ir sumažinti Suma (jei 
sumažinima irašoma su minusu) ir nurodoma data. Reikia skaičiuoti palūkanas 
kažkokiam periodui, pvz.: mėnesiui, (kad ir 0,2% / dienai) ,bet nuo faktinio 
likučio TAI dienai. Pvz irašai .:
2010-04-01 1000Lt
2010-04-05  500Lt
2010-04-18  -900Lt

Reiktųų suskaiciuoti palūkanas 04 mėnesiui (31diena) taip (faktinis likutis 
x palūkanos x dienų skaičius + ...):
 1000x0,2x5  + 1500x0,2x14 + 600x0,2x14 = ...

Kadangi reikia žinoti kiekviena dieną kiek yra palūkanų , neradau kito budo 
kaip skaičiuoti ir i DB saugoti kiekvienos dienos suskaičiuotas palūkanas, 
taciau būna, kad reikai perskaiciuoti iš kart pvz už 3 mėn.(tada reikai 
žinoti tik galutinę palūkanų sumą). Skaičiuojant  kiekvieai dienai užtrunka 
labai ilgai.  Gal yra koks paprastesnis (optimalesnis) sprendimas tokio 
pobūdžio skaičiavimams atlikti nei sukti cikla. Nes jei bankai savo 
kiekvienam klientui taip skaičiuotų užtruktų laaabai ilgai.
Sprendimas klasikiniu SQL  (nes koks MS SQL gal turi kokių specifinių dalykų 
tokiam uždaviniui) ir kliento pusėje vykdoma programa.

Donatas