Bu soru merak ettiklerimin etrafında dönüyor, ancak cevaplar tam olarak onu ele almıyor.
Gibi görünüyor genel olarak '=' daha hızlı joker kullanırken 'gibi' olduğunu. Bu geleneksel bilgelik gibi görünüyor. Ancak, sınırlı sayıda farklı sabit, kodlanmış, varchar tanımlayıcı içeren bir sütunum olduğunu ve bunlardan biriyle eşleşen tüm satırları seçmek istediğimi varsayalım:
select * from table where value like 'abc%'
ve
select * from table where value = 'abcdefghijklmn'
'Beğen' bir eşleşme bulmak için yalnızca ilk üç karakteri test etmelidir, oysa '=' tüm dizeyi karşılaştırmalıdır. Bu durumda, bana 'beğenmek' bir avantaja sahip olacak gibi görünüyor, diğer tüm şeyler eşittir.
Bu genel, akademik bir soru olarak düşünülmüştür ve bu nedenle hangi DB'nin önemi olmamalıdır, ancak SQL Server 2005 kullanılarak ortaya çıkmıştır.
value
, dizine eklenip eklenmediğidir. Eğer öyleyse, o zaman=
masa taraması gerektirmeyen basit bir aramadırLIKE
ve ona attığınız herhangi bir ifadenin altını üstüne getirecektir.