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

ORDER DENGAN kondisi

UNION berarti UNION DISTINCT dan ini relatif lambat karena akan memeriksa duplikat meskipun tidak akan ada. Anda ingin UNION ALL:

SELECT *, 0 AS head FROM foo WHERE id IN (1,2,3) 
UNION ALL
SELECT *, 1 AS head FROM foo WHERE id NOT IN (1,2,3)
ORDER BY head, created_date

Saya membayangkan bahwa setelah perubahan ini tidak ada banyak perbedaan dalam kinerja antara ketiga kueri. Cara terbaik untuk memastikannya adalah dengan mengukurnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. optimizer_search_depth di Google Cloud SQL

  2. Sintaks MySQL UPDATE dengan beberapa tabel menggunakan klausa WHERE

  3. Java2MySQL> Kegagalan tautan komunikasi karena pengecualian yang mendasarinya lagi

  4. Cari matriks untuk semua persegi panjang dari dimensi yang diberikan (pilih blok kursi)

  5. Bagaimana cara mengelompokkan berdasarkan minggu di MySQL?