ugrás a tartalomhoz

adatkezelés SQL-ben, vagy inkább PHP-ben?

kalamona · 2006. Szep. 16. (Szo), 12.52
Sziasztok!

Általános kérdésem van. Milyen elvet szokás követni fejlesztéskor:
- minden műveletet amit csak lehet az SQL szerverre bízok (string machinációk, számítások bizonyos értékek alapján stb), azaz arra törekszem hogy PHP-ből már szinte csak az adatbáziskezelőtől visszakapott, precizen az én céljaimnak megfelelő adatok struktúrált, ízléses megjelenítése történjen
- vagy SQL-ből csak a legfontosabb szűkítésekkel kérjem le az adatokat amiket aztán PHP-ben dolgozok fel.

Ez nyílván két túlzó véglet, az egyiknél a php izzad, a másiknál a db szerver végzi a munka dandárját. Mindkét eszköz számos okos függvénnyel bír a feladatok elvégzésére.

- Mi a helyes arány?
- Mit szoktak a profik SQL-ben megoldani?
- Mi az amihez már a programozási nyelvet hivják segítségül?
- Melyik a gyorsabb eszköz?

Kösziköszi:)
 
1

mikor hogy

Anonymous · 2006. Szep. 16. (Szo), 20.08
Szerintem ez mindig az adott feladat függvénye.
Összetettebb lekéréseknél az SQL-re bízom a piszkos munkát,
de lehetnek olyan esetek, amikor a lekérés egyszerű, az
adatokkal viszont olyan számítást kell végezni, ami
SQL-ben nem, vagy csak körülményesen oldható meg.

Nem hiszem, hogy van ilyen, hogy helyes arány.

Ha konkrétan feldobnál egy feladatot, akkor lehetne
megmondani, hogy ott mi lenne a célszerű, általánosságban erre
nehéz válaszolni.
2

Oké, majd mondok példát...

kalamona · 2006. Szep. 16. (Szo), 23.46
Mondok majd konkrétat ha jön egy, még most kezdek belemerülni, csak egy jó szemléletmódban szeretném összehozni az egészet.
Jó ötlet arra törekedni, hogy amit csak lehet csináljak meg SQL-ben, a sebesség miatt?
Mennyire kompatibilisek az SQL szerverek? Mert most épp MySQL dorombol csak alattam, de úgy néz ki nemsokára PostGres, később pedig, mivel megrendelőmnek vérmes gigantikus forgalmú nemzetközi oldalról szólnak az álmai lehet hogy át lesz ültetve egy kereskedelmi db kezelőre.
AdoDB-t kezdtem el használni pont emiatt.
Attól félek nemkicsit, hogy nem tudom mi az amit bizton használhatok most és működni fognak a lekérdezéseim, ha fél év múlva DB2, MSSQL, vagy ORACLE lesz a barátunk. Főleg, ha tényleg az lesz a mottóm, hogy
"Amit az SQL megtehet, azt tegye is meg!"
3

sajnos...

amonrpg · 2006. Szep. 17. (V), 00.56
El kell keserítselek.
Önmagukban az adatbázis-szerverek nem kompatibilisek egymással.
Néha vért izzad az ember, ha nem készül fel előre egy esetleges költözésre.

Az AdoDB jó dolog, ám néhány esetben túl nagy overhead-del jár a használata (nézz utána az AdoDB Lite -nak pl!).
Persze átlagos forgalom esetén mit sem számít ez. Mint ahogyan az sem, hogy MySQL vagy Postgres muzsikál a site alatt.
Amúgy a MySQL nem olyan lassú, mint azt egyesek képzelik, csak érteni kell hozzá. A Postgres-re ez hatványozottan igaz. Napi szintű karbantartást igényel, ami nem biztos, hogy kifizetődő. Mérnöki óradíjban értem.
Viszont ha van pénz Oracle-ra, ez nem lehet akadály. :D
Ez utóbbiban gyakorlatilag majdhogynem megírhatod a teljes alkalmazást, a PHP-d meg print_r fgv-nyé változik. :D Ami sok esetben nem is baj amúgy.

Ha nagyon nagy forgalomra számítasz, mindenképpen sok tárolt eljárást és triggert javaslok, mert azzal némi időt és erőforrást spórolsz.
Viszont minden DB váltáskor írhatod újra.

Szóval feladat- és eszköz-függő a válasz.