Bir SQL deyimi sargable ne yapar? | Netgez.com
SORU
28 NİSAN 2009, Salı


Bir SQL deyimi sargable ne yapar?

Tanım (en azından gördüğüm kadarıyla) tarafından sargable bir sorgu kullanan bir sorgu motoru yürütme planı optimize olan yeteneğine sahip olduğu anlamına gelir. Cevaplar bakarak denedim, ama konu üzerinde çok fazla görünmüyor. Şimdi asıl soru, ne yaptığı ya da SQL sorgu sargable yapmaz mı? Herhangi bir belge büyük mutluluk duyacağız.

Başvuru için: Sargable

CEVAP
28 NİSAN 2009, Salı


Bir sorgu yapmak en yaygın şeynon-sargablebir içeri bir alan vardırişleviwhere:

SELECT ... FROM ...
WHERE Year(myDate) = 2008

SQL iyileştirici eğer varsa bile myDate bir dizin kullanmak. Kelimenin tam anlamıyla tablonun her satır için bu fonksiyonu değerlendirmek gerekir. Daha iyi kullanmak için:

WHERE myDate >= '01-01-2008' AND myDate < '01-01-2009'

Diğer bazı örnekler:

Bad: Select ... WHERE isNull(FullName,'Ed Jones') = 'Ed Jones'
Fixed: Select ... WHERE ((FullName = 'Ed Jones') OR (FullName IS NULL))

Bad: Select ... WHERE SUBSTRING(DealerName,4) = 'Ford'
Fixed: Select ... WHERE DealerName Like 'Ford%'

Bad: Select ... WHERE DateDiff(mm,OrderDate,GetDate()) >= 30
Fixed: Select ... WHERE OrderDate < DateAdd(mm,-30,GetDate()) 

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008
  • Vagrant Records

    Vagrant Reco

    8 Mayıs 2006