T-SQL sorgu performansı için basit tavsiyeler

1. SELECT sorgularınızda * asteriks yerine alan adlarını kullanın.

SELECT * FROM MyTable; ---Uzak durulmalı.
SELECT ID, Description, DateModified FROM MyTable; --- Daha sağlık bir kullanım şekli.

2. INSERT komutlarımızda da bir önceki kurallımız gibi alan adları kullanılmalı.

INSERT INTO MyTable VALUES ('A','B','C'); --- SAğlıksız bir kullanım.

3. SELECT sorgularınızın daha hızlı döndürmesi için LIKE kullanımında daha dikkatli olmalısınız.

SELECT Distinct LastName 
	FROM Person.Contact
		WHERE LastName LIKE '%sen'; --- En sık yapılan % karekteri ile sorgu koşullarının kullanımıdır.

SELECT Distinct LastName FROM Person.Contact WHERE LastName LIKE ‘___sen’; — Ancak koşul yazarken % kullanmadan önce _ kullanımına öncelik verilmelidir.

% kullanımında tüm karekterleri temsil eder, _ ise sadece tek karekter temsil eder. _ yi kullanmak için kaydın uzunluğu bilinmelidir aksi halde % kullanılmalıdır.

SELECT Distinct LastName 
	FROM Person.Contact
		WHERE LastName LIKE 'A%sen'; --- Başlangıç karakteri gibi bir kullanımda sorguyu hızlandırır.

SELECT Distinct LastName FROM Person.Contact WHERE LastName LIKE ‘[A-M]%sen’; — Başlangış karakteri için bir dizi aralığı da verilebilir.

4. DISTINCT kullanımı eğer gerçekten gerekli ise kullanılmalı.

5. UNION kullanımı da gereksiz veya alternatifsiz ise tercih edilmelidir. Eğer tekrar eden kayıtlar sorun olmayacaksa UNION ALL şeklindeki bir kullanım tekrar sorgular ile uğraşıp tekrar eden kayıtları silmeye uğraşmayacağında daha performanslı çalışacaktır.

6. JOIN ile tabloların ilişkilendirilerek sorgu yazılması. WHERE IN kullanımı yerine.