使用SQLite而不是File有什么好处?

时间:2013-11-13 05:47:58

标签: android sqlite

在Android中,在SQLite中输入数据比在.txt文件中使用更多时间和更多行代码。

将数据保存在.txt中并使用FileReader可以方便地获取数据。

使用SQLite而不是文件有什么好处?

2 个答案:

答案 0 :(得分:30)

SQLite数据库优于文件存储的优势

  • 如果您有相关的数据,常规文件不会让您指出他们的关系; SQLite数据库可以。
  • SQLite允许您以结构化方式存储数据。
  • SQLite具有更高的性能。
  • 还可以查询SQLite数据库,并且数据检索更加健壮。
  • android.database和android.database.sqlite包提供了更高性能的替代方案,其中源兼容性不是问题。
  • 在Android中创建的Android数据库仅对创建它们的应用程序可见
  • 没有文件解析和生成代码来编写和调试。
  • 使用强大的SQL查询可以访问和更新内容,大大降低了应用程序代码的复杂性。
  • 在以后的版本中扩展新功能的文件格式很简单,就像在现有表中添加新表或新列一样。
  • 可能会将多个内容存储为“文件堆”的内容可以封装到单个磁盘文件中。
  • 可以使用第三方工具查看内容。
  • 应用程序文件可在所有操作系统,32位和64位以及大端和小端架构上移植。
  • 应用程序只需要加载所需的数据,而不是读取整个应用程序文件并在内存中保存完整的解析。启动时间和内存消耗减少。
  • 小编辑只会覆盖更改文件的部分,而不会覆盖整个文件,从而提高性能并减少SSD驱动器的磨损。
  • 内容以连续和原子方式更新,以便在发生电源故障或崩溃时不会丢失任何工作。
  • 应用程序可以利用SQLite内置的全文搜索和RTREE功能。
  • 通常可以使用CREATE INDEX解决性能问题,而不是重新设计,重写和重新测试应用程序代码。
  • 程序联盟(可能用不同的编程语言编写)都可以访问同一个应用程序文件而不会出现兼容性问题。
  • 多个进程可以附加到同一个应用程序文件中,并且可以在不相互干扰的情况下进行读写。
  • 可以使用触发器实现跨会话撤消/重做。
  • 在许多常见情况下,从SQLite数据库加载内容比从单个文件加载内容更快。有关其他信息,请参阅内部与外部BLOB。
  • 在原始应用程序的所有痕迹丢失很久之后很长时间内,存储在SQLite数据库中的内容更有可能在未来几十年内恢复。数据的寿命比代码长。

答案 1 :(得分:8)

立即想到的主要原因,SQLite为您提供了一个简单的文件:

请注意,尝试使用平面文件解决上述任何问题都将开始进入数据库领域 - 但当然真的不希望自己编写那种东西。