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

Tập dữ liệu jdbc có lưu trữ tất cả các hàng trong bộ nhớ jvm không

Nó phụ thuộc. Các trình điều khiển khác nhau có thể hoạt động khác nhau và ResultSet cài đặt có thể hoạt động khác.

Nếu bạn có CONCUR_READ_ONLY , FETCH_FORWARD , TYPE_FORWARD_ONLY ResultSet , trình điều khiển gần như chắc chắn sẽ chủ động lưu trữ trong bộ nhớ số lượng hàng tương ứng với kích thước tìm nạp của bạn (tất nhiên dữ liệu cho các hàng trước đó sẽ vẫn còn trong bộ nhớ trong một khoảng thời gian cho đến khi nó được thu gom rác). Nếu bạn có TYPE_SCROLL_INSENSITIVE ResultSet , mặt khác, rất có thể trình điều khiển sẽ lưu trữ tất cả dữ liệu đã được tìm nạp trong bộ nhớ để cho phép bạn cuộn ngược và chuyển tiếp qua dữ liệu. Đó không phải là cách khả thi duy nhất để thực hiện hành vi này, vì vậy các trình điều khiển khác nhau (và các phiên bản trình điều khiển khác nhau) có thể có các hành vi khác nhau nhưng đó là cách đơn giản nhất và là cách mà hầu hết các trình điều khiển mà tôi đã gặp.



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

  2. Loại bỏ mật khẩu khi gọi sqlplus từ tập lệnh shell

  3. Trong điều kiện nào ROWNUM =1 tăng đáng kể hiệu suất trong một truy vấn tổng hợp tồn tại

  4. Oracle - tìm kiếm các giá trị có dấu cách ở đầu hoặc ở cuối

  5. Tạo Bảng từ Chế độ xem - Lỗi SQL SQL Oracle:ORA-01723:không cho phép các cột có độ dài bằng 0