Onko normaalia, että tietokannasta saatavan datan laskeminen tehdään SQL:llä? Pystyin nimittäin helposti laskemaan tulokset kunhan luin datan ohjelmointikieleen ja syötin datan laskukaavaan, mutta mulle sanottiin, että laskenta pitäisi tehdä SQL:llä. Tämä monimutkaistaa kyselyä huomattavasti.
Miksi SQL:llä lasketaan tulokset?
junnudevari
10248
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 10
Vanhimmat
Mitä jos syöttäisit sen datan hanuriin ja laskisit siellä?
Jos+sen+pystyy+tekemään+sql:llä..+Useinkaan+laskentaa+ei+pysty+tekemään,+vaan+käyetään+jotain+matematiikka-kieltä.+Nämä+vain+tuppaavat+olemaan+kalliita+lisensseiltään,+eikä+oikein+tästä+syystä+haluttaisi+niitä+käyttää.+Myöskään+kovin+moni+ei+niitä+osaa+tarpeeksi+laajasti.+
++Kai+tuossa+perimmäisenä+taustasyynä+on+se,+että+omasta+ohjelmastasi+ei+voi+koskaan+olla+100%+varma,+miten+se+toimii.+Sen+sijaan+tietokantaoperaatiot+on+todistettu+oikeiksi+jo+aikoja+sitten+ja+jos+kaava+on+oikea+-+on+lopputuloskin.+Ja+jos+laskenta+menee+haun+yhteydessä,+se+ei+hidasta+itse+toimintaa.
Kannattaa mieluummin laskea housuihin
SQL database enginet on optimoitu äärimmilleen ja aina kun vain mahdollista kannattaa suorittaa operaatiot sillä puolella kuin ruveta itse väkertämään koodilla.
Pahimmillaan sovelluksissa mennään heittelemään sovelluslogiikkaa sekä tietokantaan että varsinaiseen sovelluksen ohjelmointikoodiin. Sitten ihmetellään että miten kokonaisuus oikein toimiikaan. Huono arkkitehtuuri.
Kun kirjoitellaan vielä dynaamista SQL:ää tietokannan puolelle niin mikään OR mäpperi ei sen jälkeen toimi ko. kannan päällä.
Kannattaa vähän miettiä että koska tuollaiseen oikein ryhtyy.
Näin on ja vaativammissa kyselyissä kannattaa käyttää kannan tarjoamia apuvälineitä kyselyn analysointiin mikäli kysely vaikuttaa hitaalta. Kannattaa myös tehdä yksinkertaisia kuormitustestejä jotta ei tule yllätyksiä tuotannossa.
Tietokannasta kannattaa hakea oleellinen data eikä alkaa ohjelmointikielessä prosessoimaan sellaista jonka saa kohtuudella sqlssä tehtyä esim. aggregaattifinktioilla, apufunktioilla ja liitoksilla. Kokemuksen karttuessa kyselyt eivät enää tunnu yhtä monimutkaisilta. Mikäli kanta osaa hyödyntää cte kyselyitä, saattaa tämä helpottaa kyselyn jakamista osiin. Myös rekursiota käytetään vaativimmissa kyselyissä. Kannattaa pyytää kokeneempaa kolleegaa katselmoimaan kyselyt niin voi oppia tekemään kyselyistä selkeämpiä. Fiksut sisennykset on hyvä miettiä, ne parantavat ymmärrettävyyttä paljon. Terv. Kokemusta on
Business logiikan sotkeminen useampaan paikkaan ohjelmistoa on suolesta. Se ollaan täälläkin nähty.
Koska tyhmyys. Ohjelman alussa tietokanta kuuluu lukea muistiin kokonaisuudessaan ja ohjelman lopussa muistin sisältö siirretään takaisin tietokantaan. Terveisin VB guru.
"ohjelman lopussa muistin sisältö siirretään takaisin tietokantaan"
Data on yliarvostettua. Tärkeintä, että käyttöliittymä on kiva ja että töissä on kivaa.