Geek stuff #01

SQL. Am fost nevoit recent să ”aduc” primele X înregistrări din tabelul A, pentru fiecare entitate Y din tabelul B, cu relații many-to-many A-B definite în tabelul C. Nicio coloană din tabelul A nu avea echivalent în B. Neputând concepe un JOIN atât de complex într-un singur SELECT, am făcut count(Y) select-uri 🙂

Mergea și așa. Dar nefiind indian (sau rasist), nu eram complet mulțumit, trebuia optimizat.

Cristi: vorbește cu Alex, te va ajuta.
Eu: bine… (as in aproape sigur că nu există o alternativă optimă, dar curios totuși)
Alex, după câteva ore: OZN. Un singur SELECT cu rank + partition. Mind blown.

O relatare banală din care se poate trage cel puțin o concluzie, la fel de banală, însă importantă: chiar dacă nu o poți concepe tu, întotdeauna există o soluție pentru orice problemă. Nu-ți fie frică sau rușine să ceri ajutor. Preferabil să ai și persoanele capabile să te ajute în preajmă – oameni mai inteligenți decât tine.

Publicat de

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.