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

Nhận số lượng kết quả trả về bởi Truy vấn MySQL với JDBC theo cách hiệu quả nhất về hiệu suất

Thực hiện một truy vấn riêng biệt không phải là một giải pháp tốt (theo ý kiến ​​của tôi) vì máy chủ sẽ tìm kiếm các hàng hai lần cho một tập kết quả.

Để ngăn truy vấn "kép", MySQL có hàm FOUND_ROWS (), nó trả về một số hàng được thiết lập cho các điều kiện hiện tại từ WHERE mệnh đề. Điều này rất hữu ích khi bạn sử dụng LIMIT và OFFSET trong truy vấn. Tôi tin rằng sử dụng hàm này là một giải pháp tốt hơn. http://dev.mysql.com/doc/refman/5.0/en/information-functions.html# Chức năng_found-rows

Tôi đã đọc một thời gian trước đây rằng JDBC truyền trực tuyến các hàng từ máy chủ, nhưng đây không phải là tài liệu chính thức và tôi không thể biết nó hoạt động như thế nào ở hiện tại, nhưng các truy vấn có thể khác - với các truy vấn phụ và kết hợp khó. Tôi nghĩ rằng máy chủ đó có thể hoàn thành tất cả các tài nguyên nếu sẽ "phát trực tuyến" các hàng này chỉ khi khách hàng yêu cầu chúng.



  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 - thêm hoặc chèn giá trị vào một cột tùy thuộc vào việc nó trống hay không

  2. PHP MySQL qua SSL. Chứng chỉ ngang hàng không khớp

  3. PHP và MySQL:So sánh tháng và ngày với năm động

  4. xóa các hàng khỏi nhiều bảng

  5. MySQL - tại sao không lập chỉ mục mọi trường?