Tengo una tabla para aproximadamente 100,000 usuarios en ella.MySQL view performance
Primer caso:
explain select state, count(*) as cnt from users where state = 'ca'
Cuando hago un plan de explicación de la consulta anterior consigo el costo como 5200
Segundo caso:
Create or replace view vw_users as select state, count(*) as cnt from users
Explain select cnt from vw_users where state = 'ca'
cuando hago un explicar el plan en la segunda consulta, recibo el costo de 100.000.
¿Cómo funciona la cláusula where en la vista? ¿La cláusula where se aplica después de que la vista recupera todas las filas? ¿Cómo soluciono este problema?
Su definición de la vista no se encuentra la cláusula group by –
Si no puede usar el algoritmo de fusión, aquí hay un trabajo que encontré útil: [Solución alternativa para los problemas de rendimiento de las vistas temporales] (http://www.mysqlperformanceblog.com/2010/05/19/a-workaround- para-el-rendimiento-problemas-de-temptables-vistas /) – landoncz