सबसे आम बात जो एक क्वेरी को गैर-सरल योग्य बना देगी फ़ंक्शन . के अंदर फ़ील्ड शामिल करना है जहां खंड में:
SELECT ... FROM ...
WHERE Year(myDate) = 2008
SQL अनुकूलक myDate पर किसी अनुक्रमणिका का उपयोग नहीं कर सकता, भले ही कोई मौजूद हो। इसे सचमुच तालिका की प्रत्येक पंक्ति के लिए इस फ़ंक्शन का मूल्यांकन करना होगा। उपयोग करने के लिए बहुत बेहतर:
WHERE myDate >= '01-01-2008' AND myDate < '01-01-2009'
कुछ अन्य उदाहरण:
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())