Dati tabelle

mercoledì 22 dicembre 2010 - 23.52
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Visual Studio 2008  |  SQL Server 2005

Zagor60 Profilo | Junior Member

Salve,

domanda banale, è più veloce inserire i dati direttamente in una tabella o attraverso una stored procedure.

Cioè è meglio inserire i dati direttamente in una tabella o tramite una stored procedure.

saluti

lbenaglia Profilo | Guru

>domanda banale, è più veloce inserire i dati direttamente in
>una tabella o attraverso una stored procedure.

In generale le prestazioni sono strettamente legate alla scelta di un buon piano di esecuzione.
Per quanto riguarda il comando di INSERT dato che non esistono clausole di WHERE le prestazioni sono legate al fatto che esista dello spazio all'interno della pagina che andrà ad ospitare i dati evitando possibilmente un page split, dalla presenza di eventuali triggers e dal numero di indici che occorre aggiornare.

Quindi, da questo punto di vista non esiste alcuna differenza eseguire una INSERT di per sè oppure all'interno di una stored procedure.

>Cioè è meglio inserire i dati direttamente in una tabella o tramite
>una stored procedure.
Sicuramente è meglio passare per una stored procedure, non tanto dal punto di vista prestazionale, ma da quello della sicurezza.
Le sp, udf, viste sono tutti sistemi che possono permettere un accesso "controllato" ai dati senza accedere direttamente alle tabelle.
Infatti si tende a negare l'accesso alle tabelle, assegnando le permission minime agli altri oggetti per garantire la sicurezza e consistenza dei dati.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5