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

use*_*288 12 sqlite android

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

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

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

Chi*_*hod 32

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

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

  • 是的,检查这个 https://www.sqlite.org/arch.html 帖子。SQLite 很好地利用了 B 树和缓存等数据结构,使其写入和读取操作更快。 (2认同)

Mat*_*all 9

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

请注意,尝试使用平面文件解决任何这些问题本身将开始进入数据库领域 - 但当然你真的不想自己编写那种东西.