我是数据库的新手。
我想将一个22000字插入一个sqlite数据库,但它需要永远完成
for (int i=0;i<s.size();i++){
String sql = "INSERT INTO WORD (word) VALUES ("+"'"+s.get(i)+"'"+");";
statement.executeUpdate(sql);
}
表名是WORD,字段名是word(String
)
这里是一个arrylist,s.get(i)返回一个字符串......我已建立连接并尝试更新
桌子。
这很慢。我做错了什么?
答案 0 :(得分:1)
它很慢,因为你向数据库发出22000个查询。您应该批量插入。这将解决问题。即使单个插入需要10ms,总时间也需要3.5分钟!!
批量为2的简单插入查询将如下所示
"INSERT INTO WORD (word) VALUES ("+"'"+s.get(i)+"'"+"), ("+"'"+s.get(i+1)+"'"+");";
这会将时间缩短一半。现在,您必须以编程方式插入更多这些值。