在对象中缓存SQLite数据?

时间:2013-12-08 10:09:19

标签: java sqlite

我的项目需要一个SQLite数据库来存储相关信息,这些信息将在下次启动程序时读取。

最好是阅读完整的数据库,为每一行创建对象并处理存储在列表中的这些对象,还是应该总是向数据库询问该行?

数据库将有大约10,000行,每秒绕过一个查询,我想在那里选择一行。 如果我应该使用列表中的对象,我怎样才能将它们带回来?我认为放弃这个表并创建一个新表不是最好的解决方案。

2 个答案:

答案 0 :(得分:2)

每个选项都有起伏不定:

从db获取所有对象列表:
另外:

  • 您可以将对象作为列表使用
  • ,并且很容易使用

减:

  • 更大的内存占用。

在需要时获取每个:
另外:

  • 让数据库担心您的需求

减:

  • 显然需要一遍又一遍地调用db。

在每种情况下,我怀疑性能是否明智,如果您的行不是很大,您会注意到一个巨大的差异。

如果您决定查询一次并使用这些对象,则必须先保存全部或保存所有已更改的文件(如果您的程序意外死亡,则可能会丢失更改)。

如果你一次得到一个项目,然后保存它,更多的调用db(磁盘,因为它是sqlite),但如果出现问题,你可能会失去更少的信息。

答案 1 :(得分:0)

  

过早优化是万恶之源。 - Donald Knuth

你真的不应该优化现在不是性能问题的东西。