Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Che cos'è la procedura archiviata e perché la procedura archiviata?

Ciao,

In questo articolo parlerò della Stored Procedure che dovrebbe essere utilizzata nei grandi progetti.

Penso che dovrebbe essere sicuramente utilizzato in progetti su larga scala perché la differenza delle stored procedure si verifica solo nei progetti che richiedono prestazioni ed efficienza su larga scala.

Stored procedure in generale, possiamo descrivere come segue:Istruzioni SQL che non sono necessarie per la compilazione dopo la prima compilazione e vengono mantenute nel server del database. D'altra parte, possiamo dire istruzioni T-SQL archiviate nel server del database anziché nel livello dell'applicazione.

Le stored procedure, come in altri linguaggi di programmazione, possono essere eseguite senza parametri. Viene anche chiamato SP quando viene utilizzato nello sviluppo di applicazioni. Tutte le operazioni sul database possono essere eseguite con le stored procedure.

Una delle caratteristiche più belle dell'utilizzo delle procedure memorizzate è forse separare i codici del linguaggio di programmazione dalle query del database DML (Database Manipulation Language). Inoltre, una volta che hai scritto e compilato un SP puoi usarlo molte volte.

In generale, indicherò i vantaggi delle stored procedure e il motivo per cui vengono utilizzate troppo come segue.

  • Le stored procedure sono molto veloci perché sono conservate nel server del database, il motivo è che non hanno bisogno di essere compilate ancora una volta dopo la compilazione una sola volta. Tuttavia, il codice SQL inviato nel livello Applicazione deve essere compilato ancora e ancora a ogni transazione. Questa è una grande perdita di tempo per progetti e server su larga scala che servono più di 1 client.
  • Offre eccellenti risparmi sul traffico di rete.
  • Fornisce la parametrizzazione automatica alle istruzioni SQL. Invece di sostituire tutti i parametri nel punto in cui passano le istruzioni SQL, puoi solo modificare i parametri o le regole all'interno dell'SP. Questo risolve anche la complessità delle applicazioni che consente alla tua applicazione di essere modulare.
  • È possibile utilizzare i comandi T-SQL oltre alle espressioni di programmazione (if, while, for, ecc.) durante la scrittura di stored procedure.
  • Le stored procedure sono più affidabili perché solo i parametri di input e output vengono visualizzati nel livello dell'applicazione. Se pensiamo che l'accesso al server del database avvenga solitamente con l'ID utente e la password, possiamo dire che l'utilizzo di SP è un elemento di fiducia per i nostri codici.

Ho spiegato i vantaggi delle stored procedure che mi sono venuti in mente sopra. Quasi tutte le applicazioni software non utilizzano i normali codici sql in generale.

Come ho detto sopra, essere gestiti da un unico punto e utilizzarlo in più di un posto e non poter vedere facilmente altre persone rende gli SP molto vantaggiosi.

Soprattutto se pensiamo al traffico di rete, inviare molte righe di comandi SQL inviati dal client al server invece di inviare il nome della stored procedure al server una volta significa che il traffico di rete è molto alleggerito.

Esistono quattro tipi di stored procedure.

  1. Procedura archiviata di sistema:  sono nel database principale e in sp_ il prefisso viene utilizzato per queste stored procedure. Vengono utilizzati nei lavori di amministrazione relativi al sistema sul database.
  2. Procedura archiviata basata sull'utente: Queste procedure memorizzate vengono utilizzate per le nostre applicazioni. Puoi eliminare o modificare questi SP.
  3. Procedura archiviata estesa: In genere, viene compilato come .dll e un tipo di stored procedure che compila le funzionalità del server di database. viene aggiunto solo al database principale.
  4. Procedura archiviata CLR : È una sorta di stored procedure sviluppata in ambiente CLR utilizzando qualsiasi linguaggio.