database-design - 我应该担心 sqlite 文件大小吗?

标签 database-design sqlite

在编写我自己的平面文件数据库时,我尽量保持文件大小尽可能小,在设计 mySQL 数据库时,我将所有表放入一个数据库中(我相信 mySQL 将每个表存储在它自己的文件中)。我是 sqlite 的新手,我的道德冲突 - 整个数据库存储在一个文件中。

我知道 sqlite 每个数据库的推荐大小约为 2GB,我不希望达到那个大小,但是拆分数据库有什么好处吗?例如,将数据库一分为二,一个具有各种设置表(表多,行数少),另一个具有各种内容表(表少,每个表多行)。

我对文件系统有很好的理解,并且知道我不应该为此烦恼太多,但是有一种直觉,我无法摆脱想要分离数据库的想法。这是一种可以忽略或逃避的感觉吗?

最佳答案

除非您要在数据库中存储大量数据,否则这并不重要。如果要存储大量数据,包括 blob 和复杂关系,则无论如何都不应该使用 SQLite——这就是大型数据库系统的用途。

SQLite 的存在是为了以一种简单、快速和紧凑的方式将结构化数据存储在未联网的独立应用程序中。您还可以将其用作您自己的应用程序的文件格式,这样您就不必每次都重新发明轮子。我个人使用它来存储偏好并确保它可以跨不同平台工作。您还可以使用标准工具来操作数据库。

你知道,有一个术语叫做“过度工程”。有时使用简单、快速的方法并将事物分离到单独的表和模块中就可以了;有时不是。

  • SQLite Internal Limits
  • 关于database-design - 我应该担心 sqlite 文件大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1935791/

    相关文章:

    database - 您是否曾经使用过没有 "Relations"、没有 "PKs"和没有 "FKs"的数据库,只是原始数据?

    php - MySQL嵌套资源(透视表)权限查看/更新/管理

    java - "A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property."错误

    c# - 从 DbLinq 源代码创建 Linq to sqlite dbml

    iOS 共享扩展 - 如何访问核心数据

    mysql - 数据库设计 : force a child table to populate with predefined data when the parent record is created

    database - 是否有任何用于 mysql/sqlite/postgresql 的 SQL 设计器(用于 linux 或基于 web 的)?

    sql - 哪个表具有一对一关系的外键是否重要?

    python - 从一对行的列表到一个平面的行列表

    ios - SQLite Order By 在末尾放置变音符号和特殊字符