Ci si rivede nel 2011!
Dic 29
Ottimizzare le Stored Procedure – 3
Includere sempre SET NOCOUNT ON : Per ogni query, funzione o stored SQL server ritorna sempre un messaggio indicante il numero di righe interessate dall’operazione. Questa è un’informazione molto utile durante lo sviluppo e il successivo debugging, dopodichè è assolutamente inutile. Usando SET NOCOUNT ON possiamo disabilitare questa funzione. Per le stored con molte query o cicli questo accorgimento migliora le prestazioni in maniera sensibile.
SET NOCOUNT ON |
Dic 15
Ottimizzare le Stored Procedure – 2
Non usare il prefisso “sp_” nei nomi delle stored procedure.
Se il nome di una stored comincia con quel prefisso SQL Server andrà a cercarla prima nel database master e solo dopo in quello corrente. Cercare prima nel database master, oltre a cusare un po’ di overhead, potrebbe anche portare ad errori se dovesse venir trovata una stored procedure con lo stesso nome nel database master.
Dic 08
Ottimizzare le Stored Procedure – 1
Usare sempre il nome dello schema con gli oggetti. Il nome di un oggetto è totalmente qualificato solo se ha anche il nome dello schema. Va usato nelle Stored procedure e in tutti gli oggetti referenziati all’interno di una Stored. Questo aiuta a trovare direttamente il piano di esecuzione compilato invece che cercarlo in giro prima di usare quello in cache. Cercarlo ogni volta comporta il rischio di compile lock e cali di performance.
SELECT * FROM dbo.Tabella -- Metodo migliore -- Invece di SELECT * FROM Tabella -- Metodo da evitare -- Stessa cosa per le chiamate di Stored Procedure EXEC dbo.Procedure -- Metodo migliore -- Invece di EXEC PROCEDURE -- Metodo da evitare |
Nov 25
Concatenazione in SQL Server
Ieri mi è stato fatto notare che in SQL Server non esiste la funzione CONCAT(), che invece è presente sia in MySQL che in Oracle.
In effetti è vero, però tale funzione è sostituita dall’operatore ‘+‘ , ecco come funziona:
Metodo 1: Concatenare 2 stringhe
SELECT 'FirstName' + ' ' + 'LastName' AS FullName |
Metodo 2: Concatenare 2 numeri
SELECT CAST(1 AS VARCHAR(10)) + 'R' + CAST(2 AS VARCHAR(10)) |
Metodo 3: Concatenare due colonne
SELECT FirstName + ' ' + LastName FROM Anagrafica |