Ako mislite na običan View nad tabelama, osnovno sredstvo rada u bazama podataka.
Tu mora fino da se pazi, pogotovo ako se kombinuje više tabela.
Prvo, NIKAD Order By u samom pogledu; time terate SQL engine (koji god da je u pitanju) da pravi privremenu tabelu i sortira je (naravno, ako ovo nije pogled nad jednom tabelom i Order By je nad kolonom koja ima indeks).
ORDER By uvek radite iz klijent koda.
(ta rečenica upravo to znači: ako uradite Order By iz klijentskog koda, uzeće se taj Order By a ne definicija iz pogleda).
Drugo, izbegavajte updatable view-s; radite preko stored procedura ili direktno, a izbegavajte instead of triggers (Oracle) ili slične mehanizme na MySQL.
Treće, korišćenjem View-a dajete šansu SQL enginu da uradi optimizaciju plana pristupa podacima (ili eksplicitno, nekom komandom, ili implicitno) i/ili prekompajliranje definicije pogleda u neki interni jezik, tako da se podacima pristupa brže i efikasnije.
Četvrto, kada god možete, koristite bind varijable za definisanje kriterijuma za izdvajanje podataka; znači, umesto da lepite eksplicitne vrednosti u SQL uplit:
"Select * From Products_V where IDProduct = 23"
koristite:
"Select * From Products_V where IDProduct = :1"
a zatim i odgovarajući način za jezik / platformu da date vrednost parametru :1
Peto ... ma ima svašta, ne mogu sada da se setim