Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ĐẶT HÀNG THEO điều kiện

UNION nghĩa là UNION DISTINCT và điều này tương đối chậm vì nó sẽ kiểm tra các bản sao mặc dù sẽ không có bất kỳ. Bạn muốn ĐOÀN KẾT TẤT CẢ:

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

Tôi sẽ tưởng tượng rằng sau thay đổi này, không có nhiều sự khác biệt về hiệu suất giữa ba truy vấn. Cách tốt nhất để chắc chắn là đo lường nó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL có thể được thay thế liền mạch bằng MariaDB hay có những thứ cần thay đổi trong trường hợp này?

  2. MySQL Chuyển đổi chuỗi thành ngày tính tuổi và thứ tự theo tuổi

  3. Tại sao MySQL không sử dụng các chỉ mục tối ưu

  4. tiêu đề bảng lặp lại từ một vòng lặp for trong php

  5. Cách nhanh nhất để chèn / cập nhật một triệu hàng trong Laravel 5.7