sql >> データベース >  >> RDS >> Mysql

結果セットタイプが転送のみであるのに、なぜfirst()メソッドを使用できるのですか?

    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
    



    1. pyodbcを使用してMSSQLServerへの一括挿入を高速化する方法

    2. 投票値に応じて記事情報を更新するようにcronジョブを設定します

    3. 管理者および通常のユーザーとしてログインします

    4. プレースホルダーを使用しますか? int以外のものに対するGomySqlクエリ