Dic 29

Buone Feste a tutti!

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

Post precedenti «

» Post successivi