Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 4.533 pregleda

Najnovija ↓

MySql - Storne procedure i funkcije 05.08.2007. u 22:06 · pre 234 meseca #1
jel mi moze netko objasniti kad se koriste funkcije i cemu sluze, a kad storne procedure!
do sada sam sve radio sa sql upitiva,tako da nemam pojma.
dali se uopce i moraju koristiti ili se sve moze napraviti i bez toga?
Re: MySql - Storne procedure i funkcije 05.08.2007. u 22:48 · pre 234 meseca #2
Stored procedure pomažu u razdvajanju slojeva informacionog sistema na db sloj i aplikativni sloj.

Recimo da na projektu rade dve osobe: aplikativni programer i DB administrator. Tada se njih dvojica dogovore šta neki upit treba da radi. DB administrator sastavi upit i stavi ga u stored proceduru. Programer poziva tu proceduru i ne mora da zna kako upit izgleda.

U čemu je poenta. Aplikacija se pusti u rad i DB administrator nadgleda rad baze. Broj podataka u bazi raste, a onaj upit postaje sve sporiji i sporiji. DB administrator pronadje način da celu stvar ubrza, ali mora da promeni rad samog upita (ne i rezultat). Pošto se upit nalazi u stored proceduri, DB admin može da ga zameni, a da se ne pipne ni jedno slovo source-a aplikacije! Programer nemora ni da zna da je DBA menjao upit.

Ako su programer i DBA ista osoba onda i nema puno smisla koristiti stored procedure.
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: MySql - Storne procedure i funkcije 06.08.2007. u 09:09 · pre 234 meseca #3
Ne bih se bas slozio da to ima toliko veze sa osobama. Vishe je podjela na ono sto si prvo rekao - App - DB layere. Ako je potrebno uraditi neku vecu obradu podataka mnogo je bolje to raditi u bazi a ne ucitavati te podatke u aplikaciju, obradjivati i vracati nazad u bazu. Pogotovo ako je rijec o velikoj kolicini podataka.
Potpis
:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
Re: MySql - Storne procedure i funkcije 06.08.2007. u 09:39 · pre 234 meseca #4
Vjerujm da si korstio bult-in Mysql funkcije (UPPER(), SUM(), ...),
tako da bi ti optrilike trebala biti jasna upotreba funkcija (proracuni, formatianje i manipulacija nad podacima).

Koa i u mnogim programskim jezicima, tako i kod mysql funkcija, fukcija mora vratiti samo jednu vrijednost,
dok Sotred procedure mogu vratiti 0 ili orgorman set rezultata.

U principu, razlika izmedju mysql funkcija i procedura je u nacinu pozivanja i šta one vraćaju (već rečeno). Procedure se pozivaju
eksplicitno sa CALL komandom, dok se funkcije pozivaju sa INSERT, SELECT ili UPDATE izrazima!

I recimo jedna od prednosti korištenja stored procedura je što omogućava korištenje multiple upita "kroz jedan put" do baze,
što bi značilo se se moze smanjiti traffic izmedju klijenta i baze, što nekada moze biti znacajno za citav sistem.

Također, treba paziti i na upotrebu stored procedura koja ima svoje mane, a jedan od njih je što iste stavljaju veće opterećenje na DB server,
procesor i memoriju (u biti nisam ovo nikada testirao, tako da ne mogu govoriti iz iskustva).



Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme