首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Benefits of SQLite As A File Format

(注意:当前页面是SQLite为什么要创建一个好的应用程序文件格式的简要总结,在 单独的技术说明中将更详细地讨论该主题。)

SQLite作为桌面应用程序(如版本控制系统,财务分析工具,媒体编目和编辑套件,CAD软件包,记录保存程序等)的磁盘文件格式已经取得了巨大的成功。传统的File / Open操作调用sqlite3_open()以附加到数据库文件。更新应用程序内容时会自动更新,因此文件/保存菜单选项变得多余。File / Save_As菜单选项可以使用备份API来实现。

使用SQLite作为应用程序文件格式有很多优点,其中包括:

  1. 更好的性能
    • 从SQLite数据库读取和写入通常比从磁盘读取和写入单个文件要快。比文件系统和内部对外部BLOB快35%。
    • 应用程序只需加载它所需的数据,而不是读取整个文件并在内存中保存完整的分析。
    • 小的编辑仅覆盖文件中发生变化的部分,减少写入时间和SSD驱动器的磨损。
  2. 降低应用成本和复杂性
    • 没有应用程序文件I / O代码来编写和调试。
    • 可以使用简洁的SQL查询来访问和更新内容,而不是冗长且容易出错的过程例程。
    • 只需添加新的表格和/或列,即可在将来的版本中扩展文件格式,从而保持向后兼容性。
    • 应用程序可以利用全文搜索和RTREE索引,并使用触发器来实现自动撤销/重做堆栈。
    • 性能问题通常可以通过使用CREATE INDEX来解决,甚至在开发周期的后期,避免代价高昂的重新设计,重写和重新测试工作。
  3. 可移植性
    • 应用程序文件可在所有操作系统,32位和64位以及大小端架构中移植。
    • 程序联合可能全部用不同的编程语言编写,可以访问相同的应用程序文件,而不存在兼容性问题。
    • 多个进程可以附加到相同的应用程序文件,并且可以读写,而不会相互干扰。
    • 不同的内容可能会被存储为一堆“文件”,通过scp / ftp,U盘和/或电子邮件附件将其封装到一个单独的磁盘文件中,以实现更简单的传输。
  4. 可靠性
    • 内容可以不断更新并自动更新,以便在停电或崩溃时很少或没有工作丢失。
    • SQLite中的错误远不及定制写入的文件I / O代码。
    • SQL查询比等效的程序代码小很多倍,并且由于每行代码中的错误数量大致不变,这意味着整体上的错误更少。
  5. 无障碍
    • SQLite数据库内容可以使用各种第三方工具查看。
    • 存储在SQLite数据库中的内容很可能在将来几十年内恢复,在原始应用程序的所有痕迹都丢失之后很久。数据寿命比代码长。

SQLite允许数据库文件具有任何所需的文件扩展名,所以如果需要,应用程序可以选择自定义的文件扩展名以供自己使用。application_id编译指示可用于在数据库文件中设置一个“应用程序ID”整数,这样像文件(1)这样的工具就可以确定该文件与您的应用程序相关联,而不仅仅是一个通用的SQL数据库。

代码语言:javascript
复制
 SQLite在公共领域。

扫码关注腾讯云开发者

领取腾讯云代金券