Keresés

Új hozzászólás Aktív témák

  • martonx

    veterán

    válasz Rolly #11611 üzenetére

    Ez tipikusan olyan anti-pattern, ami ha történetesen igaz is lenne valakire, akkor azt szégyen elismerni, nem pedig büszkének lenni rá. Hogy rend legyen, a fejekben lássunk néhányat, hogy például miért nem jó ilyet tenni:

    1. Ahogy mondtad, alap hogy mindig csak a szükséges minimum adatokat kérjük le a DB-ből (ez különösen gáz tud lenne, ha a db és web szerver nem ugyanaz a gép, ami lássuk be nagyon gyakori eset).
    1. a) ha netán még join is van a selectedben, akkor a * hirtelen a többi táblára is vonatkozik, és lehet fel se tűnik, hogy máris nem a 3 helyett kérdeztél le 4 oszlopot, hanem a 3 helyett 24-et.
    2. Igazán gáz akkor van, amikor az adattáblában megszüntetsz egy oszlopot, és esélyed sincs érdemben visszakeresni, hogy azt vajon hol és mire használtad akár csak sql, akár kód szinten. Nyugodt szívvel megszünteted, abban a hiszemben, hogy már úgyse kell soha, aztán meg keresed a hirtelen felbukkant hibákat.
    3. Az is vicces tud lenne, ha egyszercsak megváltozik a táblában az oszlop sorrend, a kódod meg egy bizonyos sorrendet várt.
    4. SQL profilozást, teljesítmény hangolást totál megöli a select *

    Nyilván egy bizonyos projekt méret alatt, ezekkel a problémákkal az ember lehet, hogy soha nem találkozik. De akkor is minek válljon a vérünkké egy tipikus anti-pattern? Pláne egy bizonyos projekt méret alatt, ahol van mondjuk 5 darab sql query-d, mit nyersz a rossz gyakorlattal? 2 percet maximum? Akkor tényleg megéri ez miatt kókányolni? Ez egy topik, ahol illik nem arra buzdítani az újoncokat, hogy á szarjátok már le az anti-patterneket, jó eséllyel úgyse találkoztok velük, a móricka projektjeitekben meg úgyse okoznak észrevehető teljesítmény problémát, hanem illik a jó gyakorlatra nevelni a népet, függetlenül a projektjeik méretétől.

    Én kérek elnézést!

Új hozzászólás Aktív témák