sql >> Databáze >  >> RDS >> Sqlserver

Co je uložená procedura a proč uložená procedura?

Ahoj,

V tomto článku řeknu o uložené proceduře, která by se měla používat ve velkých projektech.

Myslím, že by se rozhodně měla používat ve velkých projektech, protože rozdíl mezi uloženými procedurami se vyskytuje pouze u projektů, které vyžadují velký výkon a efektivitu.

Uloženou proceduru můžeme obecně popsat následovně:SQL příkazy, které není potřeba po první kompilaci kompilovat a zůstávají na databázovém serveru. Na druhou stranu můžeme říci T-SQL příkazy uložené na databázovém serveru namísto na aplikační vrstvě.

Uložené procedury, stejně jako v jiných programovacích jazycích, lze spouštět bez parametrů. Při použití při vývoji aplikací se také nazývá SP. Všechny databázové operace lze provádět pomocí uložených procedur.

Jednou z nejkrásnějších vlastností používání uložených procedur je možná oddělení kódů programovacího jazyka od databázových dotazů DML (Database manipulation Language). Navíc, jakmile jednou napíšete a zkompilujete SP, můžete jej použít mnohokrát.

Obecně uvedu výhody uložených procedur a proč se příliš používají, jak následuje.

  • Uložené procedury jsou velmi rychlé, protože jsou uchovávány na databázovém serveru, důvodem je to, že není nutné je kompilovat ještě jednou poté, co byly zkompilovány samostatně. Kód SQL, který jste odeslali v aplikační vrstvě, však musí být znovu a znovu kompilován při každé transakci. To je velká ztráta času pro velké projekty a servery obsluhující více než 1 klienta.
  • Poskytuje vynikající úspory síťového provozu.
  • Poskytuje automatickou parametrizaci příkazů SQL. Namísto nahrazení všech parametrů v místě, kde procházejí příkazy SQL, můžete pouze upravit parametry nebo pravidla v rámci SP. To také opravuje složitost aplikací, která umožňuje, aby vaše aplikace byla modulární.
  • Při psaní uložených procedur můžete kromě programovacích výrazů (if, while, for atd.) používat i příkazy T-SQL.
  • Uložené procedury jsou spolehlivější, protože v aplikační vrstvě se objevují pouze vstupní a výstupní parametry. Pokud si myslíme, že přístup k databázovému serveru se obvykle provádí pomocí ID uživatele a hesla, můžeme říci, že použití SP je prvkem důvěry pro naše kódy.

Výše jsem vysvětlil výhody uložených procedur, které mě napadly. Téměř všechny softwarové aplikace obecně nepoužívají normální sql kódy.

Jak jsem řekl výše, být spravován z jednoho bodu a používat jej na více než jednom místě a nevidět ostatní lidi snadno činí SP velmi výhodnými.

Zejména když přemýšlíme o síťovém provozu, odesílání mnoha řádkových SQL příkazů odeslaných klientem na server namísto jednorázového odeslání názvu uložené procedury na server znamená, že síťový provoz je velmi odlehčen.

Existují čtyři typy uložených procedur.

  1. Systémová uložená procedura:  jsou v hlavní databázi a sp_ pro tyto uložené procedury se používá předpona. Používají se v úlohách správy databáze souvisejících se systémem.
  2. Uložená procedura založená na uživateli: Tyto uložené procedury se používají pro naše aplikace. Tyto SP můžete smazat nebo změnit.
  3. Rozšířená uložená procedura: Obecně je kompilován jako .dll a typ uložené procedury, která kompiluje funkčnost databázového serveru. je přidán pouze do hlavní databáze.
  4. Uložená procedura CLR: Jedná se o jakousi uloženou proceduru vyvinutou v prostředí CLR pomocí libovolného jazyka.


  1. Jak mohu urychlit dotaz MySQL s velkým posunem v klauzuli LIMIT?

  2. Jak automaticky vygenerovat jedinečné ID v SQL, jako je UID12345678?

  3. Více příkazů INSERT mysql v jednom dotazu php

  4. Jak Atan2d() funguje v PostgreSQL