sql >> Base de Datos >  >> RDS >> Mysql

Optimizar una consulta UNION mysql

Básicamente, lo que está mostrando es que tiene un problema de diseño en su modelo en el que parece que se tomó una decisión incorrecta al implementar super/subtipos. Su requisito funcional es tener datos (simulares) de dos tablas diferentes como un conjunto uniforme. Esto sería sencillo si todas esas filas hubieran estado en una tabla. Así que la verdadera pregunta es por qué no lo son.

Todavía puede obtener esta consulta más rápido (supongo) pero es feo.

SELECT * FROM 
   (SELECT * FROM (select title, id, date as date_added from test1 
                  ORDER BY date_added DESC LIMIT 0,8) t1
    UNION ALL 
    SELECT * FROM (select title, customer as id, date_added from test2 
                  ORDER BY date_added DESC LIMIT 0,8) t2
   ) joined
ORDER BY date_added DESC
LIMIT 0,8