2013-12-11 6 views
5

Una procedura memorizzata dall'utente con il prefisso SP (non SP_) ha prestazioni inferiori osservando nel DB master (simile a SP utente denominato SP_) o appare nel DB in cui la stored procedure esiste perché manca un trattino basso?Evita di denominare le stored procedure utente SP% o SP_%

+0

Suggerimento. Io uso "dbo.uspEmployeeGetSingle". prefisso "usp". quindi entità, l'azione. – granadaCoder

risposta

9

Il reserved prefix che presenta questo comportamento è sp_. Non sp.

Una stored procedure denominata spAddUser verrà risolta in modo normale senza cercare un oggetto corrispondente in master.

Il relativo quote in books online è

evitare l'uso del prefisso sp_ quando si nominano le procedure. Questo prefisso è utilizzato da SQL Server per designare le procedure di sistema. L'utilizzo del prefisso può causare l'interruzione del codice dell'applicazione se esiste una procedura di sistema con lo stesso nome.

Ma eviterei comunque questi prefissi. Se tutte le stored procedure hanno il prefisso sp diventa fastidioso IMO.

+0

Quando tutti gli SP sono preceduti da sp, qual è il punto? questo vale per tutto il resto, la notazione ungherese raramente ha senso – BlackTigerX

+0

@BlackTigerX - Sono d'accordo con te. Normalmente è abbastanza ovvio dal contesto che un oggetto è una procedura memorizzata (mentre è possibile utilizzare anche le UDF scalari 'EXEC'). Meno fastidioso del prefisso 'tbl' però. Dopo aver refactoring dei database utilizzando che si può facilmente finire con le viste di compatibilità all'indietro sostituendo le tabelle che hanno ancora il prefisso 'tbl' che dovrebbe denotare una tabella!) –

+0

@MartinSmith Does SP_ (maiuscolo) hanno lo stesso effetto di quello inferiore -case sp_ prefix? – user797717

Problemi correlati