Mi consulta normal:
SELECT DISTINCT vt.id as id, vtt.name as n, vt.etxid as etx FROM vt LEFT JOIN vtt ON (vtt.locale = "etx" AND vtt.etxid = vt.etxid)Tiempo de ejecución: 5ms
Mi vista:
CREATE OR REPLACE VIEW myview AS SELECT DISTINCT vt.id as id, vtt.name as n, vt.etxid as etx FROM vt LEFT JOIN vtt ON (vtt.locale = "etx" AND vtt.etxid = vt.etxid)Mi consulta de vista:
SELECT * from myview;Tiempo de ejecución: 600ms
Tan pronto como mencione las funciones DISTINCT o de agregación en una vista, MySQL selecciona el algoritmo TEMPTABLE para esta vista, lo que significa que creará una tabla temporal para la vista y luego le aplicará clasificación, agrupación y agregaciones. Ver más detalles aquí . Además, aquí hay algunas recomendaciones sobre el rendimiento de visualización .