Tags:

Kích thước tối đa của ResultSet là bao nhiêu?

ResultSet trong JDBC thường được dùng để lưu trữ một tập kết qủa của một câu truy vấn được thực thi xuống database. Vậy các bạn có bao giờ đặt câu câu hỏi rằng kích thước tối đa của ResultSet là bao nhiêu không? và liệu nếu có thì tập kết quả trả về lớn hơn kích thước tối đa của Result thì phần thừa sẽ đi về đâu?

Liệu có phải với mỗi câu truy vấn được thực thi, JDBC sẽ xử lý kết quả trả về từ database và thêm chúng vào ResultSet sau đó trả ResultSet về cho chúng ta hay không?

NO! Nó không hoạt động như trên đâu các bạn nhé. JDBC chỉ là một lớp bao bọc bên ngoài database. Khi chúng ta thực thi một câu truy vấn, nó sẽ được JDBC đẩy xuống database. Sau đó database thực thi câu truy vấn này và khởi tạo con trỏ cho phép chúng ta sử dụng để duyệt qua tất cả các dòng dữ liệu trong tập kết quả.

Trong khi chúng ta lấy dữ liệu từ ResultSet, với mỗi lần lấy một dòng kết qủa mới thì con trỏ trong database cũng được di chuyển đến dòng dữ liệu tiếp theo và nó sẽ được đóng gói trả về cho ResultSet.

Do vậy không có giới hạn về kích thước của ResultSet. Giới hạn duy nhất mà chúng ta phải đối mặt đó là số lượng dữ liệu tối đa mà bộ nhớ có thể chứa được. Nếu bạn lấy lần lượt các dòng dữ liệu từ ResultSet xử lý và lưu trữ lại thì bạn sẽ phải đối mặt với vấn đề tràn bộ nhớ. Nếu xử lý xong và không giữ những tập dữ liệu này trong database thì ứng dụng có thể chạy một cách thoải moái.

Nguồn

https://stackoverflow.com/questions/26619867/does-jdbc-have-a-maximum-resultset-size

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x