插入/选择几百行需要很长时间

时间:2011-11-09 18:18:26

标签: android database db4o

对于我正在创建的android应用程序,我决定使用db4o来管理我的持久性数据。为此,我必须插入几百行非常简单的对象。

public class Teacher
{
    String name;
    String value;
}

我尝试通过将其作为ArrayList插入并逐个插入来插入它。在这两种情况下,插入大约需要15秒,选择需要6秒。使用Android的普通SQLite时,它可以在不到一秒的时间内完成。

db4o纪录片说你应该做一些提交,如果你是批量插入,但他们谈论100.000+对象。几百个对我来说似乎不是很大。

我有一些更复杂的对象可以很快地工作(一个'周'课程,其中包含'天',每天都有'事件')。

我应该配置一些快速处理几百行的东西,还是比db4o更好的替代持久性数据。我可以使用SQLite,但我不想摆脱它,因为更新等需要做很多工作。

我正在打开数据库

        String path = new ContextWrapper(context).getFilesDir().getAbsolutePath();
        database = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), path + this.DATABASE_FILENAME);

并将列表检索为

    public ArrayList<Teacher> getTeachers()
{
    Query query = getDatabase().query();
    query.constrain(Teacher.class);
    ObjectSet<Teacher> result = query.execute();
    return new ArrayList<Teacher>(result);
}

使用的软件

  • Android 2.3.4
  • HTC Desire
  • db4o 8.0.184

0 个答案:

没有答案