Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Optimalkan kueri mysql UNION

Apa yang pada dasarnya Anda tunjukkan adalah bahwa Anda memiliki masalah desain dalam model Anda di mana tampaknya pilihan yang salah dibuat saat mengimplementasikan super/subtipe. Persyaratan fungsional Anda adalah memiliki data (simular) dari dua tabel berbeda sebagai satu set seragam. Ini akan mudah jika semua baris itu ada dalam satu tabel. Jadi pertanyaan sebenarnya adalah mengapa mereka tidak.

Anda masih bisa mendapatkan kueri ini lebih cepat (saya berasumsi) tapi jelek.

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. Menyimpan izin aplikasi dalam database

  2. lavaral 5 ERROR{ (SQLSTATE[HY000] [1045] Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata sandi:YA)}

  3. Cara memuat otomatis MySQL saat startup di OS X Yosemite / El Capitan

  4. mysql:mengapa membandingkan 'string' dengan 0 memberikan nilai true?

  5. Menambahkan kunci asing ke tabel yang ada memberikan kesalahan 1050 tabel sudah ada