在编写我自己的平面文件数据库时,我尝试保持文件大小尽可能小,在设计mySQL数据库时,我将所有表放入一个数据库(我相信mySQL将每个表存储在它自己的文件中)。我是sqlite和我的道德冲突的新手 - 整个数据库存储在一个文件中。
我知道sqlite的每个数据库的建议大小约为2GB,我不希望达到那个大小,但分割数据库有什么好处吗?例如,将数据库拆分为两个,一个具有各种设置表(多个表,行数较少),另一个具有各种内容表(少数表,每个表中有许多行)。
我对文件系统有很好的理解,并知道我不应该为此烦恼,但有一种直觉,我不能动摇想要分离数据库。这是一种忽视或运行的感觉吗?
答案 0 :(得分:6)
除非您要在数据库中存储批次数据,否则实际上并不重要。如果你要存储大量数据,包括blob和复杂的关系,你不应该使用SQLite - 这就是大数据库系统的用途。
SQLite的存在是为了在非联网的独立应用程序中存储结构化数据的简单,快速和紧凑的方式。您也可以将它用作自己应用程序的文件格式,这样您就不必每次都重新发明轮子。我个人用它来存储首选项,并确保它适用于不同的平台。您还可以使用标准工具来操作数据库。
你知道,有一个名为“过度工程”的术语。有时候,采用简单,快速的方法并将各个单独的表分成单独的表和模块就可以了。有时它不是。
答案 1 :(得分:0)
听起来不像你的“设置”数据库会占用足够的空间值得麻烦。您可以轻松地将这些设置表保留在主数据库中并缓存设置值,以避免重复查询这些表。