title: Fastest way to update huge number of rows with input param List<T> in MyBatis to Oracle db
body: <p>I'm updating huge amount of data by passing a variable List in MyBatis to Oracle DB.</p>
  
  <p>Methods from this <a href="https://stackoverflow.com/questions/23486547/mybatis-batch-insert-update-for-oracle">link</a>  are not efficient enough for me, the ways to commit update sql query line by line, for loop in sql query or Executor.batch service are way too slow from what I expect. </p>
  
  <pre><code>//one of the method i use
  &lt;update id="updateAll"&gt;
      BEGIN
          &lt;foreach collection="list" item="item" index="index" separator=";"&gt;
              UPDATE &lt;include refid="tableName"/&gt;
              &lt;set&gt;
                  item_price = ${item.price}, update_time = ${item.updateTime}
              &lt;/set&gt;
              WHERE id = ${item.id}
          &lt;/foreach&gt;
      ;END;
  &lt;/update&gt;
  
  </code></pre>
  
  <p>With the ways I tried, my system spend 10 - 30 seconds or maybe longer to complete the update. There will be around 10,000 rows of data per sec from server. Is there is any way to update at least 1-2k rows of data within 1 or 2 second in Oracle db?</p>