MySQL Connector / Jのデフォルトの動作は、ResultSet
のコンテンツ全体をロードすることです。 .executeQuery
とすぐにメモリに と呼ばれます。つまり、ResultSet
TYPE_FORWARD_ONLY
です MySQL JDBC開発者は、明らかに「いい」と判断し、.first
の使用を許可しました。 、.absolute
その場合など(ResultSet
全体が原因) JDBC仕様に記載されている場合でも、メモリ内にあり、すぐに利用できます
ただし、ResultSet
全体が たとえば、st.setFetchSize(Integer.MIN_VALUE)
を使用する場合、メモリ内にあることが保証されません。 ResultSet
を「ストリーミング」する スクロールすると、MySQL Connector/Jでは.next
以外は使用できなくなります。 または取得します
com.mysql.jdbc.OperationNotSupportedException: Operation not supported for streaming result sets