【问题标题】:Android Performance : Flat file vs SQLiteAndroid 性能:平面文件与 SQLite
【发布时间】:2012-08-26 02:41:12
【问题描述】:

stackoverflow 上与此主题相关的问题很少,但我没有得到正确的答案。我对平面文件的性能有一些疑问,使用 flat files 而不是 SQLite 会更好吗?任何人都可以有性能统计数据吗?或在 android 中编码平面文件的正确方法示例。

【问题讨论】:

标签: android sqlite flat-file


【解决方案1】:

除了性能优势之外,以下是使用 SQLite 而不是平面文件的简单优势列表:

  • 您可以根据需要查询项目 - 无需加载所有项目并选择您需要的项目。
  • 删除记录是一个不那么痛苦的过程。无需将整个文件重写到任何地方。
  • 更新记录与删除或创建记录一样简单。
  • 您是否尝试过对平面文件进行交叉引用查找?不值得。

总而言之,这是数据库相对于文本文件的所有优势。

【讨论】:

  • 谢谢,这真的很有帮助。大小比较呢?
【解决方案2】:

这取决于您的要求。

如果您的存储数据规模庞大,那么我建议您使用 SQLite。另一方面,如果数据大小只有一行或几行,那么平面文件是最佳选择。

它们之间的区别在于,SQLite 以结构化格式存储数据,因此可以更容易地从多组记录中找到一条记录,这对于平面文件来说是非常繁琐的过程。

但是,如果您要存储 blob 类型的数据,则建议同时使用 SQLite 和文件系统两者的组合。即将图像/声音/视频数据存储为文件格式并将其路径存储在 SQLite 中。

也请访问accessing performance

【讨论】:

  • 你的意思是read/write in textfilesqlite
  • Nimit,如果你真的想学习编程,那就开始探索吧。
  • Lucifer,我知道如何编写这些代码,我关心的是性能。无论如何,谢谢...!
  • 很高兴听到这个消息:),我只是想让你了解自己,别无其他。
【解决方案3】:

SQlite 在性能方面肯定要好得多,随着数据量的增加,这一点变得更加重要。

我一直在开发一个颤振应用程序,我需要根据输入的文本动态显示过滤后的项目列表。我最初使用一个 json 文件来存储数据,并将相关值读取并存储到一个列表中,然后在用户键入时过滤这个列表。

这对一些项目很好,所以我认为我很好,直到我使用包含超过 150,000 个项目的真实数据集进行测试。尝试过滤用户类型如此大的列表会使应用程序崩溃。我转向数据库解决方案,我的所有问题都得到了解决。即时过滤,不再崩溃

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    相关资源
    最近更新 更多