sql >> Database teknologi >  >> RDS >> Mysql

Optimer en UNION mysql-forespørgsel

Det du dybest set viser er, at du har et designproblem i din model, hvor det ser ud til, at det forkerte valg blev truffet ved implementering af super/undertyper. Dit funktionelle krav er at have (lignende) data fra to forskellige tabeller som ét ensartet sæt. Dette ville være ligetil, hvis alle disse rækker havde været i én tabel. Så det rigtige spørgsmål er, hvorfor de ikke er det.

Du kan stadig få denne forespørgsel hurtigere (antager jeg), men den er grim.

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

  1. Mysql Regular Expression-søgning uden gentagne tegn

  2. Udbyderen kunne ikke initialiseres. Manglende eller forkert skema

  3. OGG-01224 Adresse er allerede i brug

  4. Skal nulstille værdien af ​​sekvens i Oracle