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

UNION ALL và LIMIT trong MySQL

Hiện tại, MySQL sẽ thực hiện tất cả các lựa chọn trên một liên hợp ngay cả khi có đủ hàng trong một vài truy vấn đầu tiên, như @Yuki Inoue đã đề cập trong câu trả lời của họ. Sử dụng câu trả lời của @ user1477929, bạn có thể viết lại truy vấn của mình dưới dạng:

(SELECT a FROM t1 WHERE a=10 AND B=1 LIMIT 1000) 
UNION ALL 
(SELECT a FROM t2 WHERE a=11 AND B=2 LIMIT 1000) 
UNION ALL 
(SELECT a FROM t3 WHERE a=12 AND B=3 LIMIT 1000) 
ORDER BY a LIMIT 1000;

sẽ cung cấp cho bạn nhiều nhất 1000 hàng và không bao giờ quét quá 3000.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vi phạm ràng buộc toàn vẹn:1048 Cột 'user_id' không được để trống xảy ra khi gán vai trò (Laravel 5.3)

  2. php mysql hôm nay, hôm qua và ngày từ cơ sở dữ liệu

  3. Làm thế nào để hiển thị các bản ghi cơ sở dữ liệu trong dạng xem mà không lặp lại một trường?

  4. Câu lệnh chèn MySql vào kiểu dữ liệu nhị phân?

  5. Lỗi với thủ tục mysql LỖI 1304 &LỖI 1305