Store procedures vs inline sql

poruka: 5
|
čitano: 1.636
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
offline
Store procedures vs inline sql?

Zanima me što je bolje za koristiti.  Osobno korisitm više inline sql s parametrima. Više me zanima performanse, u kojim sličajevima je bolje koristiti SP radi performansi. Događa mi se da nemam toliku mogučnost  mijenjanja SP, ali imam sada web based mssql manager pa više nemam tu prepreku.  Osobno SP korisitm ako hoču dodati još jedan nivo zaštite za svaki slučaj.

Poruka je uređivana zadnji put uto 28.12.2010 15:34 (Gajotres).
 
0 0 hvala 0
15 godina
neaktivan
offline
RE: Store procedures vs inline sql?

Hm.. hm.. Tesko je uopsteno pricati o tome, medjutim, ono sto se generalno moze reci jeste da ti je obicno bolje da pravis izvjestaje i sl. stvari jednim direktnim upitom, ali to podrazumijeva da nemas previse agregatnih funkcija i select-a u select-u u svom upitu. Znas ono select t1.x, t1.y, t1.z, (select t2.nesto

from tabela2 t2), t1.q from tabela1 where.. itd..

 

U toj situaciji ti je bolje da napravis pozadinsku funkciju koja ce ti vratiti rezultat za odredjene podatke. Naravno, stored procedure ti daju vise mogucnosti, ali ne treba komplikovati ukoliko mozes zavrsiti nesto direktnim upitom, a da pri tome ne spada u gore navedenu vrstu. Inace, SQL Tuning je malo komplikovaniji od prostog dijeljenja na inline sql i stored procedure. Prva stavka u nizu je kako je projektovana baza, pa indexi itd.., pa onda upit. Kod stored procedura npr. vodi racuna o tome da sto manje koristis kursore. Oni su ti bottle neck svakog upita. Bolje ti je da u takvoj situaciji koristis UNION ALL nekolicine upita, ako ti se to moze uklopiti. Naravno i ovo zavisi od slucaja do slucaja, ali ti napominjem da probas, jer je meni pomoglo vise puta. Isto tako, mozda ce ti se vise uklapati CASE, koji ce ti skoro uvijek zamijeniti DECODE, a uz to je brzi. Opet, mozes doci u situaciju kada ovo nije slucaj, ali uglavnom bi trebalo da je tako.

 

Eto, nadam se da sam ti bar malo pomogao.. {#}

 

Pozdrav,

Miroslav

17 godina
neaktivan
offline
RE: Store procedures vs inline sql?
Gajotres kaže...

Zanima me što je bolje za koristiti.  Osobno korisitm više inline sql s parametrima. Više me zanima performanse, u kojim sličajevima je bolje koristiti SP radi performansi. Događa mi se da nemam toliku mogučnost  mijenjanja SP, ali imam sada web based mssql manager pa više nemam tu prepreku.  Osobno SP korisitm ako hoču dodati još jedan nivo zaštite za svaki slučaj.

za zaštitu i skrivanje strukture baze  se koriste view-i, a procedure za obradu podataka, mada može i za druge stvari, ali to nije namjena procedura.

Poruka je uređivana zadnji put uto 28.12.2010 15:49 (MarkoCro).
17 godina
odjavljen
offline
Store procedures vs inline sql

Ako imaš isti upit koji koristiš često (samo uz izmjenjeni uvjet) onda je svakako puno bolje koristiti SP. Razlog je u execution planu - stora će ti koristiti isti execution plan cijelo vrijeme. U suprotnom riskiraš kreiranje gomile execution planova što ima negativan utjecaj na performanse.

Freak Show Inc.
 
2 0 hvala 0
16 godina
offline
Store procedures vs inline sql

Tnx,

 

@MarkoCro, me tepo me netko prije dva dana nešto u vezi SP i securtitija. Jel valjda im je došla stranica jedna na reviziju i uspjeli su napraviti da dropaju table i kaže radi securitija treba koristiti SP što mi pravo da ti kažem ne ide u glavu. Koliko mi je poznato drop table je može napraviti ako se ne koristi parametrizirani inline sql a ruki na srce netko tko napravi SELECT nesti FROM negdje WHERE nestoTrece= " + something + " ne zna ni programirati. Tu me patilo ta finta sa securiti, mislim znam da se može kao napraviti ogrnaičen pristup podatcima sa storama, ali zato postoje view-ovi.

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice