したがって、ブローカーのリストをローカル SQLite データベースに単一の SQL 命令として追加するためのこのコードがあります。
public void Add(List<Broker> brokers)
{
if(brokers == null || brokers.size() == 0)
return;
String sql = "INSERT INTO " + TABLE_NAME + " SELECT " + brokers.get(0).getId() + " AS '" + COLUMN_BROKERID + "', "+ brokers.get(0).getOfficeId() + " AS '" + COLUMN_OFFICEID + "', '"+ brokers.get(0).getName() + "' AS '" + COLUMN_NAME + "', "+ brokers.get(0).getSuccessRate() + " AS '" + COLUMN_SUCCESSRATE + "'";
for(int i=1; i<brokers.size(); i++)
{
sql = sql + " UNION SELECT " + brokers.get(i).getId() + ", " + brokers.get(i).getOfficeId() + ", '" + brokers.get(i).getName() + "', " + brokers.get(i).getSuccessRate();
}
databaseManager.ExecuteNonQuery(sql);
}
しかし、これを大幅に遅らせているのは、文字列 'sql' の変更です。への呼び出しである最後の行にはExecuteNonQuery()
ミリ秒かかりますが、上記の行には多くの時間がかかります。どうすればこれをスピードアップできますか?