Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Какво е съхранената процедура и защо съхранената процедура?

Здравей,

В тази статия ще разкажа за Съхранената процедура, която трябва да се използва в големи проекти.

Мисля, че определено трябва да се използва в мащабни проекти, защото разликата в съхранените процедури се среща само в проекти, които изискват мащабна производителност и ефективност.

Съхранената процедура като цяло можем да опишем по следния начин:SQL изрази, които не са необходими за компилиране след първата компилация и се съхраняват в сървъра на базата данни. От друга страна, можем да кажем T-SQL изрази, съхранявани в сървъра на базата данни вместо в слоя на приложението.

Съхранените процедури, както и в други езици за програмиране, могат да се изпълняват без параметри. Нарича се още SP, когато се използва при разработката на приложения. Всички операции с базата данни могат да се извършват със Съхранени процедури.

Една от най-красивите характеристики на използването на съхранени процедури е може би отделянето на кодовете на езика за програмиране от заявките на базата данни DML (език за манипулиране на база данни). Освен това, след като сте написали и компилили SP, можете да използвате много пъти.

Като цяло ще изложа предимствата на съхранените процедури и защо те се използват твърде често, както следва.

  • Съхранените процедури са много бързи, тъй като се съхраняват в сървъра на базата данни, причината е, че не е необходимо да се компилират още веднъж след компилиране само веднъж. Въпреки това, SQL кодът, който сте изпратили в слоя на приложението, трябва да бъде компилиран отново и отново при всяка транзакция. Това е голяма загуба на време за мащабни проекти и сървъри, обслужващи повече от 1 клиент.
  • Осигурява отлични спестявания на мрежов трафик.
  • Осигурява автоматично параметризиране на SQL изрази. Вместо да заменяте всички параметри на мястото, където преминават SQL изрази, можете да модифицирате само параметрите или правилата в SP. Това също така коригира сложността на приложенията, което позволява на приложението ви да бъде модулно.
  • Можете да използвате T-SQL команди в допълнение към програмните изрази (if, while, for и т.н.), когато пишете запомнени процедури.
  • Съхранените процедури са по-надеждни, защото само входните и изходните параметри се показват в слоя на приложението. Ако смятаме, че достъпът до сървъра на базата данни обикновено се извършва с потребителския идентификатор и парола, можем да кажем, че използването на SP е елемент на доверие за нашите кодове.

Обясних предимствата на Съхранените процедури, които ми хрумнаха по-горе. Почти всички софтуерни приложения не използват нормални sql кодове като цяло.

Както казах по-горе, да бъдеш управляван от една точка и да се използва на повече от едно място и да не можеш лесно да виждаш други хора, прави SP много изгодни.

Особено когато мислим за мрежовия трафик, изпращането на много редове SQL команди, изпратени от клиента към сървъра, вместо еднократно изпращане на името на съхранената процедура към сървъра, това означава, че мрежовият трафик е много облекчен.

Има четири типа съхранени процедури.

  1. Системна съхранена процедура :  те са в основната база данни иsp_ префиксът се използва за тези съхранени процедури. Използват се в свързани със системата административни задачи в базата данни.
  2. Съхранена процедура, базирана на потребителя: Тези съхранени процедури се използват за нашите приложения. Можете да изтриете или промените тези SP.
  3. Разширена съхранена процедура : Обикновено се компилира като .dll и тип съхранена процедура, която компилира функционалността на сървъра за бази данни. добавя се само към основната база данни.
  4. Съхранена процедура в CLR : Това е вид Съхранена процедура, разработена в CLR среда, използваща произволен език.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ISDATE() Примери в SQL Server

  2. База данни, която може да обработва>500 милиона реда

  3. Добавете стойност по подразбиране на полето за дата и час в SQL Server към времева марка

  4. SQL Server - Какво се случва, когато се актуализира ред в таблица?

  5. Върнете оригиналното начало на колона за идентичност в SQL Server