Ik zou dit soort taken niet bij de database server neerleggen. Queries moet je zo licht mogelijk schrijven, zodat je de database server zo min mogelijk lastig valt.quote:Op dinsdag 10 januari 2012 09:39 schreef Swetsenegger het volgende:
Ja de op functie ken ik, maar in dit geval was het makkelijker in mysql.
Geloof me, m'n server krijgt het er echt niet warm vanquote:Op dinsdag 10 januari 2012 10:41 schreef Pakspul het volgende:
[..]
Ik zou dit soort taken niet bij de database server neerleggen. Queries moet je zo licht mogelijk schrijven, zodat je de database server zo min mogelijk lastig valt.
Dat begrijp ik, maar het gaat er om dat je begrijpt waarom je die dingen daar niet moet neerleggen Je kunt het je beter direct goed aanlerenquote:Op dinsdag 10 januari 2012 10:43 schreef Swetsenegger het volgende:
[..]
Geloof me, m'n server krijgt het er echt niet warm van
Het is niet fout om je query zo te formuleren dat de data die eruit komt zo nuttig mogelijk is in je applicatie.quote:Op dinsdag 10 januari 2012 10:49 schreef Pakspul het volgende:
[..]
Dat begrijp ik, maar het gaat er om dat je begrijpt waarom je die dingen daar niet moet neerleggen Je kunt het je beter direct goed aanleren
Swets is al een paar stapjes verder dan aanlerenquote:Op dinsdag 10 januari 2012 10:49 schreef Pakspul het volgende:
[..]
Dat begrijp ik, maar het gaat er om dat je begrijpt waarom je die dingen daar niet moet neerleggen Je kunt het je beter direct goed aanleren
Het is niet fout, maar kwa belasting wil je het gewoon niet. Bij hobby projecten maakt het uiteraard niets uit waar je het doet en als die het makkelijkste voor je is dan moet je het vooral doen. Maar als je grote projecten draait dan kunnen dit wel winst punten zijn.quote:Op dinsdag 10 januari 2012 10:50 schreef Tijn het volgende:
[..]
Het is niet fout om je query zo te formuleren dat de data die eruit komt zo nuttig mogelijk is in je applicatie.
Dat dus.quote:Op dinsdag 10 januari 2012 10:51 schreef GI het volgende:
[..]
Swets is al een paar stapjes verder dan aanleren
En ik ben het met Tijn eens. Het is niet per definitie fout om de DB server te laten rekenen.
Definieer 'belasting'.quote:Op dinsdag 10 januari 2012 10:54 schreef Pakspul het volgende:
[..]
Het is niet fout, maar kwa belasting wil je het gewoon niet. Bij hobby projecten maakt het uiteraard niets uit waar je het doet en als die het makkelijkste voor je is dan moet je het vooral doen. Maar als je grote projecten draait dan kunnen dit wel winst punten zijn.
Zelfde als in hobby projecten kun je best: SELECT * doen, maar het is beter om alleen de velden op te halen die nodig zijn.
Als je round door je db-clients wilt laten uitrekenen, ben je verkeerd bezig.quote:Op dinsdag 10 januari 2012 10:41 schreef Pakspul het volgende:
[..]
Ik zou dit soort taken niet bij de database server neerleggen. Queries moet je zo licht mogelijk schrijven, zodat je de database server zo min mogelijk lastig valt.
Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.quote:Op dinsdag 10 januari 2012 10:54 schreef Pakspul het volgende:
[..]
Het is niet fout, maar kwa belasting wil je het gewoon niet.
quote:Op dinsdag 10 januari 2012 11:00 schreef Tijn het volgende:
[..]
Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.
Indeed.quote:Op dinsdag 10 januari 2012 10:57 schreef GlowMouse het volgende:
[..]
Als je round door je db-clients wilt laten uitrekenen, ben je verkeerd bezig.
Ja, dat is wel waar. Maar het hangt compleet van de situatie af of je dergelijke dingen laat berekenen door de DBengine of door de applicatie zelf. Als het puur en alleen om weergave gaat zou ik zeggen dat het door de applicatie gedaan moet worden. Als het om tussentabellen gaat of iets in die geest dan kan ik me nog voorstellen dat je het de DBengine laat doen.quote:Op dinsdag 10 januari 2012 11:00 schreef Tijn het volgende:
[..]
Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.
Das knap, het eens zijn met twee quotes die elkaar tegenspreken.quote:
Nee?quote:Op dinsdag 10 januari 2012 11:04 schreef GI het volgende:
[..]
Das knap, het eens zijn met twee quotes die elkaar tegenspreken.
Het is rekenkracht wat je kwijt bent, bij 10 request per minuut maakt het geen fuck uit, maar als je request omhoog gaan dan wil je niet dat je DB server met dit soort dingen bezig is.quote:
Dat probeer ik hier te zeggen.quote:Op dinsdag 10 januari 2012 10:57 schreef GlowMouse het volgende:
[..]
Als je round door je db-clients wilt laten uitrekenen, ben je verkeerd bezig.
ja, want deze eerste zegt. Leg het neer bij de DB en de andere zegt doe het niet want dan ben je verkeerd bezig.quote:
Je begrijpt het verschil tussen server en client?quote:Op dinsdag 10 januari 2012 11:07 schreef Pakspul het volgende:
[..]
ja, want deze eerste zegt. Leg het neer bij de DB en de andere zegt doe het niet want dan ben je verkeerd bezig.
Dat is niet altijd een criterium omdat je vaak eenvoudig servers waar de applicatie op draaien kunt bijplaatsen.quote:Op dinsdag 10 januari 2012 11:00 schreef Tijn het volgende:
[..]
Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.
Geef me maar root-toegang op een server die 50.000 queries per seconde afhandelt, zal ik je 10 dingen aanwijzen die elk een miljoen keer meer opleveren.quote:Op dinsdag 10 januari 2012 11:06 schreef Pakspul het volgende:
[..]
Het is rekenkracht wat je kwijt bent, bij 10 request per minuut maakt het geen fuck uit, maar als je request omhoog gaan dan wil je niet dat je DB server met dit soort dingen bezig is.
Niet waar, jij wilt het van je db-server naar je db-client verplaatsen.quote:Dat probeer ik hier te zeggen.
Dat denk ik ook. Het is ook duidelijk dat je moet proberen een trage query te voorkomen natuurlijk. Maar dat doe je niet door de round-functie van je database te vermijden.quote:Op dinsdag 10 januari 2012 11:14 schreef GI het volgende:
Ah, dan las ik het verkeerd. Ik denk trouwens wel dat er geen gouden regel is voor deze problematiek.
Ik weet niet wat jij bedoelt met DB-server en DB-client.quote:Op dinsdag 10 januari 2012 11:08 schreef Tijn het volgende:
[..]
Je begrijpt het verschil tussen server en client?
De machine waar de database zelf op staat is de databaseserver. De machine waar de applicatie op draait die met de database verbinding heeft is de databaseclient.quote:Op dinsdag 10 januari 2012 11:26 schreef Pakspul het volgende:
[..]
Ik weet niet wat jij bedoelt met DB-server en DB-client.
100x zegt niks. Doe hem eens 100.000 keer.quote:Op dinsdag 10 januari 2012 11:26 schreef Pakspul het volgende:
[..]
Ik weet niet wat jij bedoelt met DB-server en DB-client.
Maar ik heb even een test uitgevoerd. 100 x een query opgehaald waar 2x50 float in voorkomen. In de ene heb ik hem door PHP laten afronden en in de andere heb ik het door MySQL laten doen. En het verschil is dat PHP er 35% langer over doet wanneer deze zelf de getallen nog moet afronden.
Dan had Tijn het dus toch goed dat de DB-server zelf efficiënter zijn data kan manipuleren.
Nouja, daar zat ik er dus naast ik dacht altijd dat je zulke functie niet daar moest uitvoeren. Vraag ik mij nu alleen af of dit ook geldt voor berekeningen. Straks maar eens doen eerst koffie!
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |