Nếu bạn bật MySQL Tùy chọn JDBC
useCursorFetch
, fetchSize thực sự sẽ được trình điều khiển tôn trọng.
Tuy nhiên, có một nhược điểm đối với cách tiếp cận này:Nó sẽ sử dụng con trỏ phía máy chủ, trong MySQL được thực hiện bằng cách sử dụng các bảng tạm thời. Điều này có nghĩa là kết quả sẽ không đến cho đến khi hoàn tất truy vấn trên máy chủ và bộ nhớ bổ sung sẽ được sử dụng phía máy chủ.
Nếu bạn chỉ muốn sử dụng tính năng phát trực tuyến kết quả và không quan tâm đến kích thước tìm nạp chính xác, thì chi phí của setFetchSize(Integer.MIN_VALUE)
không tệ như tài liệu có thể ngụ ý. Nó thực sự chỉ vô hiệu hóa bộ nhớ đệm phía máy khách của toàn bộ phản hồi và cung cấp cho bạn phản hồi khi chúng đến; không yêu cầu khứ hồi cho mỗi hàng.