Mi a jobb és biztonságosabb lekérdezés? SQL vagy LINQ?
Tehát Select bla bla WHERE valami=@valami és akkor például a @valami helyébe megy ugyebár az input - ez biztonságosabb, mint például az ha valami= "+input lenne, mert így nincs sql injectionre lehetőség, mint például az utobbinál. Előtte meg persze, meg lehet hívni a Prepare() metódust, ami azt hiszem már pl MySQL Connector 4 fölött nem kell, mert alapértelmezetten csinálja.
Na de mi a helyzet a LINQ-val? Ott alapból nincs lehetőség pl SQL injectionra. És elvileg a webalkalmazások fejlesztése is sokkal gyorsabb vele, rááadásul, hogyha adatbázisba módosítunk valamit, akkor a sima SQL lekérdezéseket át kell írni, míg a LINQ-val való lekérdezéseket nem kell módosítani, tehát a karbantharthatóság és a fejlesztés is előnysebb vele.
Mi a Ti véleményetek?
LINQ-val nincs tapasztalatom (pláne nem performanciában), mert MS találmány, tehát .NET-ben elérhető, de ha nem abban fejlesztesz akkor a hajadra kenheted. :)
Éppen ezért azt gondolom, hogy nem lehet így összehasonlítani, mert az SQL egy teljesen általános és széleskörűen támogatott nyelv, míg a LINQ-t nem használhatod akárhol. pl php és python esetén csak alternatívák vannak ha jól látom, nincs pl külön php extension hozzá
#1 Alapvetően én is ORM-t használok csak az utóbbi időben. Van 1-1 kivétel, mikor nagyon nem hatékony (RDBMS lekérést nem úgy rakja össze ahogy szeretném) és magas memóriahasználatot eredményezne, de azért ez ritka. A keretrendszerek elég jól vannak optimalizálva már.
Szóval +1 az ORM-re.
(A NoSQL pedig nem minden esetben hatékony, de ezzel csak azt akarom mondani, hogy az RDBMS-nek is megvan a maga létjogosultsága továbbra is. :))
Persze megvan a létjogosultsága, de RDBMS-re clusterizációt nem építenék. Én most egy elosztott "multi-server"-es több instance-ban futó alkalmazást fejlesztek, amire éppenséggel Cassandra-t és Redis-t használok.
Nem azt mondom, hogy nem rossz az RDBMS, csak én nem használtam 2éve. :D MySQL és Oracle nagyon patent azóta is, csak a jelenlegi körülményeim, céljaim és követelményeknek nem az a megfelelőbb.
pl.: Cassandra minden egybekötött szervere párhuzamosan aktív (nem primary-secondary), de adat konzisztenciában nem a tuti, bár paraméterezhető csak az "elérhetőségében" lesz problémája.
De Ha izgat a téma: CAP-tétel
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!