RE: SQL optimalizálás

Rimóczi Attila rendszergazda at szolnok-ped.sulinet.hu
2013. Már. 7., Cs, 08:52:15 CET


Ezek szerint mégis hatalmas top secret az SQL string.. ha bepasteztad volna
a levélbe (a csúcs-titok fenntartása érdekében fiktív táblanevekkel,
search&replace :-), esélyes hogy 1-2 órán belül több segítő megoldást is
kaptál volna.
A "van egy problémám, de nem mondom meg mi az, tud rá valaki megoldást?"
jellegű kérdések nem nagyon hatékonyak :-P

 

Egyébként sokszor célszerű több, kisebb műveletre bontani az SQL
feladatokat; bizonyos esetekben rengeteg erőforrást lehet nyerni így, pl 3
tábla érintésével sok művelet vs 6 tábla érintésével kevés kérdése. Csak ez
hivatalosan le van tagadva; mivel nem a klasszikus "gyártsunk minél nagyobb
és szebb SQL parancsokat, legyen bármilyen lassú is" oktatott elvet követi
:-] Ráadásul gyenge vason az elkerülhetetlenül jelentkező memória-swap
agyhalálra is jótékony hatással lehet.

 

 

From: techinfo-bounces at lista.sulinet.hu
[mailto:techinfo-bounces at lista.sulinet.hu] On Behalf Of Válas Péter
Sent: Tuesday, March 05, 2013 3:32 PM
To: Techinfo
Subject: Re: SQL optimalizálás

 

 

2013. március 5. 15:06 Takacs Tibor írta, <TakacsT at ntszki.hu>:

 

Esetleg: futtasd a szerveren időzítve, akár úgy, hogy az eredményt kiteszi
egy táblába, és
napközben tudsz vele dolgozni.

A szerver nem az enyém. :-) Most egyszerűbb itthagyni éjszakára, mint ebbe
is beleásni magam.
 

Tudom, komoly szakmai titok, de esetleg nem árulnál el vmit (amit el lehet
persze), hogy
mitől tart ilyen sokáig? (Többen is tanítanak adatbáziskezelést, lenne egy
konkrét példánk
elrettentésnek ;)

 

Ó, nem hiszem, hogy nagy ördöngösség volna. Kell hozzá néhány százezres
nagyságrendű tábla, amit összekapcsolsz, és nincsenek vacuumozva (lehet,
hogy ez segítene :-)), a select után két függvény (nem min/max függvényre
gondolok, hanem plpgsql nyelvű felhasználói függvényre) és három
allekérdezés (egy 1 táblás és kettő 2 táblás), és mivel a WHERE után
bánatunkra nem lehet aliasokat írni, ott is meg van ismételve az egyik
függvény és az egyik allekérdezés. (Azt nem tudom, hogy a Postgresql
mennyire érzékeli, hogy ez ugyanaz, és hogy optimalizál lélekben.)
És mindehhez kell még egy lassú gép.
A jó hír, hogy érettségi szinten ez a lassú gép kivételével nem fog
előfordulni. :-)
VP

--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lista.sulinet.hu/pipermail/techinfo/attachments/20130307/20ee7959/attachment.html>


További információk a(z) Techinfo levelezőlistáról