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

Tôi nên chỉ định setFetchSize () () là gì và khi nào?

Bạn nên đọc trang này từ các tài liệu chính thức về bộ kết quả . Nó nói

Theo mặc định, ResultSets hoàn toàn được truy xuất và lưu trữ trong bộ nhớ. Trong hầu hết các trường hợp, đây là cách hoạt động hiệu quả nhất và do thiết kế của giao thức mạng MySQL nên dễ thực hiện hơn. Nếu bạn đang làm việc với ResultSets có số lượng lớn hàng hoặc giá trị lớn và không thể phân bổ không gian heap trong JVM của bạn cho bộ nhớ cần thiết, bạn có thể yêu cầu trình điều khiển truyền kết quả trở lại từng hàng một.

stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
                            java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);

Sự kết hợp của tập kết quả chỉ đọc, chỉ chuyển tiếp, với kích thước tìm nạp là Integer.MIN_VALUE đóng vai trò như một tín hiệu cho trình điều khiển để phát trực tuyến các tập hợp kết quả theo từng hàng. Sau đó, bất kỳ tập hợp kết quả nào được tạo bằng câu lệnh sẽ được truy xuất từng hàng một.

Trên thực tế, chỉ cài đặt fetchSize không ảnh hưởng đến việc triển khai trình kết nối-j.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tổng hợp các hàng trong câu lệnh SQL Oracle

  2. Oracle - Bảng sao chép - Cấu trúc, ràng buộc dữ liệu và tất cả

  3. Cách lấy ngày hoặc giờ làm việc giữa hai ngày

  4. Biểu diễn địa chỉ IPv4 / IPv6 trong Oracle

  5. Tùy chọn phân phối trong khi gửi yêu cầu đồng thời trong R12.1.3