Hola a todos
Estoy creando una vistas en MySQL que hacen referencia a otras tabla y ademas crea campos calculados un poco complejas, para evitar estar poniendo todo el codigo en mi aplicacion. Pero como funciona esto de las Vistas?
Segun veo primero hace la consulta de la vista y a partir de eso hace nuevamente la consulta que uno llama en nuestros formularios.
Ejemplo: Algo simple
Stock_Vista
SELECT a.*, b.*, lnStock := lnStock - a.Cantidad / a.Fraccion FROM productos
LEFT JOIN productos_precios b ONa.Codigo = b.Codigo
En mi formulario llamo esta vista
SELECT * FROM stock_vista WHERE Codigo = '000001'
Cuando hago esto, me doy cuenta de que primero ejecuta el comando de la vista y sobre el resultado de este ejecuta el comando de mi formulario osea SELECT * FROM stock_vista, Cosa que estaria haciendo doble consulta y en caso de que la tabla cresca el tiempo va a ser considerable.
Preguntas:
1.- Como funcionan las vistas?
2.- Es mejor hacerlo con Store Procedures?
Saludos