rob33n söylemiş bunlar arasında bir fark olmadığını. sonuçta ikisi de varchar-nvachar tabanlı.
db yorulur demişsin de db yi yoracak olan senin sorgu tipindir,bol joinli şeyler yorar db yi. bunla ilgili cost hesaplama şeyleri var.. yaptığın sorgulama tipine göre cost bulunur. genel olarak tavsiye edilen, alt sorgular yazmandır, bu alt sorgularda where condition kullanarak mümkün mertebe datayı azaltmak ondan sonra join yapmak gerek.
eğer hızdan çok korkuyosan nosql çözümlerine bakabilirsin ki günümüz dmbs leri milyonlarca veriyi hızlı şekilde dökebilir. o yüzden o konuda rahat ol, aslında kendi yazılımına çok yüklenmemek için trigger ve stored procedure lar yazabilirsin.
o bahsettiğin iki türlü string ifadesi yazılım alanında ayıklayabilirsin (sql de de yapabilirsin),
mesela terimler sabitse ikinci söylediğini kullanabilirsin. Yani ilk 2 karakter ürünün kategorisini, 3. karakter ürünün tipini, 4-8. karakter ürünün kodunu belirtiyorsa bu sabittir, o zaman char array gibi düşünüp karakterleri alırsın.
Eğer sabit değilse yani bazen ilk 2 bazen ilk 3 karakter ürünün kategorisin belirliyorsa mesela KA ya da CAM gibi şeyler olacaksa aralarına - , . gibi şeyler koyabilirsin. bunun içinde split fonksiyonları kullanarak diziye çevirerek parçalamış olursun..
kolay gelsin