Arkadaş yanlış anlamış sanırım bu nedenlede yanlış aktarıyor. Uzun yıllardır yazılım mühendisliği ve DBA'lik yapıyorum. Bahsettiği konu orta ve büyük ölçekli projelerde bir çok Table, SP, FNCT, VW olabileceğinden hepsine direkt isim verirsek karıştırabiliriz.
Nasıl bir karıştırma bu?
user ve users diye değerimiz olsun biri Table diğeri View olsun. Şimdi, büyük projelerde programcılar DB'ye bağlanamaz ve DB'yi göremezler sadece bir takim table'lar üzerinde sorgu çalıştırırlar. Belki ikiside aynı şeyi yapıyorduk fakat aynı sorguyu TABLE'a göndermek ile View'a göndermek arasında performans farkı vardır.
Peki neden vardır?
View dediğimiz yapı birden fazla table'daki alanları sorgu kısmında JOIN kullanmadan bir table gibi oluşturup sorgu gönderebileceğimiz yapılardır. Örn: tbl_foo1 ve tbl_foo2 olsun siz vw_foo3 diye bir view yazıp tbl_foo1 ve tbl_foo2 deki bazı alanları burada birleştirip direkt vw_foo3'e SELECT atabilirsiniz.
Durum böyle oluncada Table, View, Stored Procedure, Function'lar karışmasındiye standart bir notasyon uygulanır. Böylece programcı ne ile uğraştığını bilir.
Örnek isimlendirmeler;
tbl_users
vw_userDetails
sp_changePrice
Buradanda çıkartabileceğinzi gibi sadece standartizasyon için önerilen bir yöntem olup performans ile alakası yoktur.
Bu arada MySQL 5.5 eski versiyonlarına göre Linux üzerinde %340 gibi, Windows'da da %570 gibi bir oranda performans arttırımı yapılmıştır. Değerleri tam hatırlamıyorum ama bu değerler civarındaydı.
Hala MySQL'de custom data types gelmemiş bu nedenle PostgreSQL'e devam.
Saygılar.