sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är den lagrade förfarandet och varför den lagrade förfarandet?

Hej,

I den här artikeln kommer jag att berätta om den lagrade proceduren som bör användas i stora projekt.

Jag tycker att det definitivt bör användas i storskaliga projekt eftersom skillnaden mellan lagrade procedurer bara uppstår i projekt som kräver storskalig prestanda och effektivitet.

Lagrad procedur i allmänhet kan vi beskriva så här:SQL-satser som inte behövs för att kompilera efter första kompileringen och behåller i databasservern. Å andra sidan kan vi säga T-SQL-satser lagrade i databasserver istället för applikationslager.

Lagrade procedurer, som i andra programmeringsspråk, kan köras utan parametrar. Det kallas även SP när det används i applikationsutveckling. Alla databasoperationer kan utföras med lagrade procedurer.

En av de vackraste funktionerna med att använda lagrade procedurer är kanske att separera programmeringsspråkskoderna från DML (Database manipulation Language) databasfrågor. Dessutom, när du väl har skrivit och sammanställt en SP kan du använda många gånger.

I allmänhet kommer jag att ange fördelarna med lagrade procedurer och varför de används för mycket enligt följande.

  • Lagrade procedurer är mycket snabba eftersom de hålls i databasservern, anledningen är att de inte behöver kompilera en gång till efter att ha kompilerat en enda gång. SQL-koden som du skickade i applikationslagret måste dock kompileras om och om igen vid varje transaktion. Detta är ett stort slöseri med tid för storskaliga projekt och servrar som betjänar mer än en klient.
  • Gör utmärkta besparingar i nätverkstrafik.
  • Det ger automatisk parametrering av SQL-satser. Istället för att ersätta alla parametrar på den plats där SQL-satser skickas, kan du bara ändra parametrarna eller reglerna inom SP. Detta fixar också komplexiteten hos applikationer som gör att din applikation kan vara modulär.
  • Du kan använda T-SQL-kommandon utöver programmeringsuttryck (if, while, for, etc.) när du skriver lagrade procedurer.
  • Lagrade procedurer är mer tillförlitliga eftersom endast ingångs- och utdataparametrarna visas i applikationslagret. Om vi ​​tror att åtkomst till databasservern vanligtvis görs med användar-ID och lösenord, kan vi säga att användningen av SP är en förtroendefaktor för våra koder.

Jag har förklarat fördelarna med lagrade procedurer som jag tänkte på ovan. Nästan alla program använder inte normala sql-koder i allmänhet.

Som jag sa ovan, att hanteras från en enda punkt och använda den på mer än ett ställe och inte kunna se andra människor gör SPs mycket fördelaktiga.

Speciellt när vi tänker på nätverkstrafik, att skicka många rader SQL-kommandon som skickas av klienten till servern istället för att skicka namnet på den lagrade proceduren till servern en gång betyder det att nätverkstrafiken är mycket lättad.

Det finns fyra typer av lagrade procedurer.

  1. Systemlagrad procedur:  de finns i huvuddatabasen och sp__ prefix används för dessa lagrade procedurer. De används i systemrelaterade administrativa jobb i databasen.
  2. Användarbaserad lagrad procedur: Dessa lagrade procedurer används för våra applikationer. Du kan ta bort eller ändra dessa SP.
  3. Utökad lagrad procedur : I allmänhet är den kompilerad som .dll och en typ av lagrad procedur som kompilerar databasserverns funktionalitet. den läggs bara till i huvuddatabasen.
  4. CLR lagrad procedur: Det är en slags lagrad procedur utvecklad i CLR-miljö med vilket språk som helst.


  1. SQL Server-tabeller:vad är skillnaden mellan @, # och ##?

  2. PostgreSQL:Skapa tabell om det inte finns AS

  3. Importera en CSV-fil till en SQLite-tabell

  4. Konvertera escaped Unicode-tecken tillbaka till faktiska tecken i PostgreSQL