Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zoptymalizuj zapytanie UNION mysql

Zasadniczo pokazujesz, że masz problem projektowy w swoim modelu, w którym wydaje się, że dokonano złego wyboru podczas wdrażania nadtypów/podtypów. Twoim wymaganiem funkcjonalnym jest posiadanie (podobnych) danych z dwóch różnych tabel jako jednego jednolitego zestawu. Byłoby to proste, gdyby wszystkie te wiersze znajdowały się w jednej tabeli. Tak więc prawdziwe pytanie brzmi, dlaczego tak nie jest.

Nadal możesz uzyskać to zapytanie szybciej (zakładam), ale jest brzydkie.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje sposób na pokazanie klauzuli WHERE tylko dla jednego pola w MySQL?

  2. Ostrzeżenie:Nie można modyfikować informacji nagłówka - nagłówki już wysłane przez błąd

  3. Tunel Node.js ssh2 utrzymuje się przy życiu i wykonuje zapytania mysql

  4. Filtr porównywania dat MySQL

  5. Uzyskaj średni czas między dwiema kolumnami i kilkoma wierszami MYSQL