Sự khác biệt giữa thiết lập kích thước tìm nạp trên Statement vs ResultSet là gì? Tài liệu Oracle nói rằng nếu kích thước tìm nạp được đặt trên một Bản tuyên bố thì điều tương tự cũng được sử dụng bởi ResultSet, miễn là kích thước tìm nạp được đặt trước khi có được tập kết quả. Điều gì làm cho nó khác biệt nếu tôi đặt nó trên Statement hoặc một ResultSet? Tôi đang sử dụng cơ sở dữ liệu Oracle. Sau đây là Oracle tài liệu về nó:Sự khác biệt giữa việc đặt kích thước tìm nạp trên Bảng sao kê so với ResultSet
Fetch Kích
Theo mặc định, khi Oracle JDBC chạy một truy vấn, nó lấy một tập hợp kết quả của 10 dòng cùng một lúc từ con trỏ cơ sở dữ liệu. Đây là giá trị kích thước tìm nạp hàng mặc định của Oracle. Bạn có thể thay đổi số hàng được truy xuất với mỗi chuyến đi đến con trỏ cơ sở dữ liệu bằng cách thay đổi giá trị kích thước tìm nạp hàng.
JDBC chuẩn cũng cho phép bạn chỉ định số lượng hàng được tìm nạp với mỗi vòng lặp cơ sở dữ liệu cho một truy vấn và số này được gọi là kích thước tìm nạp. Trong Oracle JDBC, giá trị nạp trước hàng được sử dụng làm kích thước tìm nạp mặc định trong một đối tượng câu lệnh. Việc đặt kích thước tìm nạp sẽ ghi đè cài đặt tìm nạp trước hàng và ảnh hưởng đến các truy vấn tiếp theo chạy qua đối tượng câu lệnh đó.
Kích thước tìm nạp cũng được sử dụng trong tập kết quả. Khi đối tượng statement chạy một truy vấn, kích thước tìm nạp của đối tượng statement được chuyển tới đối tượng set result được tạo ra bởi truy vấn. Tuy nhiên, bạn cũng có thể đặt kích thước tìm nạp trong đối tượng tập kết quả để ghi đè kích thước tìm nạp câu lệnh đã được truyền cho nó.
Có sự khác biệt nhỏ. Kích thước tìm nạp được đặt trên báo cáo sẽ được sử dụng cho lần tìm nạp đầu tiên. Vào thời điểm tập kết quả được trả về lần tìm nạp đầu tiên hoàn tất, do đó cách duy nhất để kiểm soát kích thước của lần tìm nạp đầu tiên là đặt nó trên câu lệnh. Nếu bạn biết một truy vấn cụ thể chỉ trả về một hàng thì đặt kích thước tìm nạp thành 1 trên tập kết quả sẽ không làm gì vì kích thước tìm nạp của câu lệnh đã được sử dụng để truy xuất một hàng trước khi mã của bạn có quyền truy cập vào tập kết quả được đặt kích thước tìm nạp cho một. –