Arama Sonuçları: 'T-SQL'

Sargable vs Non-Sargable Queries

Sargable sorgular, tabloda tanımlı indeksleri kullanarak arama yapabilen sorgulardır. Non-sargable sorgular ise kesinlikle kaçınılması ve mutlaka sargable alternatifinin bulunarak kullanılması gereken, indeks dostu olmayan, çalışma zamanı oldukça yüksek, kalitesiz sorgulardır.

Non-Sargable Sorgu:

SELECT PER.* 
FROM dbo.Person PER 
WHERE SUBSTRING(PER.Name,1,3)= 'Meh'

Sargable Alternatifi:

SELECT PER.* 
FROM dbo.Person PER 
WHERE PER.Name LIKE 'Meh%'

Yukarıdaki örnekte ilk sorgu için tüm satırlardaki name kolonu öncelikle substring fonksiyonuna gireceği için indeks özelliğini kaybedecektir. İkinci sorguda ise kolon değerleri herhangi bir ön operasyona maruz kalmadan direkt olarak Sargable LIKE operatörü ile sorgulanmıştır.


devamı için tıklayınız...


00:00:00
Saturday 15 Jan 2017
Altın Sözler
“Zeki adamlar söyleyecek bir şeyleri olduğu için konuşurlar. Aptallar, konuşmaları gerektiği için.”
Web hosting by Somee.com