Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Spring Batch - JdbcCursorItemReader membuang OutOfMemoryError dengan tabel MySQL besar

Ada masalah dalam driver MySql JDBC yang menyebabkan pemuatan seluruh kumpulan data ke dalam memori terlepas dari parameter yang telah Anda berikan ke metode pembuatan pernyataan. Lihat http://dev. mysql.com/doc/refman/5.0/en/connector-j-reference-implementation-notes.html untuk mengetahui cara membuka kursor dengan benar.

Inilah cara saya melakukannya:

<bean class="org.springframework.batch.item.database.JdbcCursorItemReader">
  <property name="verifyCursorPosition" value="false" />
   <property name="dataSource" ref="remoteDataSource" />
   <property name="rowMapper">
     <bean class="org.springframework.jdbc.core.SingleColumnRowMapper" />
   </property>
   <property name="fetchSize">
     <util:constant static-field="java.lang.Integer.MIN_VALUE" />
   </property>
   <property name="sql">
     <value>SELECT foo, bar FROM baz</value>
  </property>
</bean>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cari entri - dalam Database (tanpa menentukan nama Kolom/Nama tabel)

  2. Optimasi Kinerja Kueri di MySQL

  3. Saran tentang Penataan Sistem Komentar

  4. Bagaimana cara menghitung item menggunakan generate_series() yang setara di MySQL?

  5. Salin/duplikat/cadangkan tabel database secara efektif - mysql