Rozhodovací procedura - aplikace vs. sql server   zodpovězená otázka

SQL, Databáze

Dobrý den, chtěl bych se zeptat na vaše názory ohledně rozhodovacích struktur. Co je výhodnější z hlediska výkonu.

Mám aplikaci napsanou ve VB.Net která využívá databáze SQL serveru. Dotazy jsou uloženy jako Stored Procedures na SQL serveru. A mě by zajímalo, zda je výhodnější mít více stored procedur a v aplikaci si rozhodnout kterou budu volat (například zda načíst tabulku 1, tabulku 2 nebo tabulku 3) a nebo mít jednu dlouhou stored proceduru na SQL serveru kterou budu z aplikace vždy volat a které předám například o jeden parametr navíc podle kterého procedura pozná který select použít. (například pokud bude parametr 1 použije se select na tabulku 1 atd.)

Budu vděčný za jakýkoliv Váš názor.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já bych volil více uložených procedur místo jediné s mnoha parametry, protože to je daleko přehlednější. Rozdíl ve výkonu obou způsobů bude minimální. Také si nejsem jistý, jestli by šlo volat stejnou uloženou proceduru vícekrát současně s různými parametry (například z různých vláken) což opět nahrává k použití více uložených procedur.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za radu, udělám tedy více menších procedur:) Je fakt že to bude přehlednější.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ještě bych se chtěl zeptat zda je něják omezen počet parametrů, které můžu předat proceduře na SQL serveru. Teď se mi totiž stalo že jsem se pokusil proceduře předat 7 parametrů a vyvolala se vyjímka: "Procedure or function pokus_procedura1 has too many arguments specified."

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Maximální počet parametrů uložené procedury je 2 100, takže problém bude jinde (hádal bych předání vyššího počtu parametrů než je definován v uložené proceduře). Pokud vás zajímají ještě další omezení SQL Serveru, tak popis je zde:

http://msdn.microsoft.com/en-us/library/...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aha, já jsem to nakonec vyřešil jinak ale omezení si určitě pročtu, hodí se to vědět. Děkuji:)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback