繁体   English   中英

Android 房间数据库大小

[英]Android Room Database size

我想知道 Room Database 的最大容量是多少? 我在文档中看不到任何内容。

是否有任何选项可以以编程方式设置数据库大小?

我检查了文档,但找不到任何信息。

因为 Room 只是 SQLite 之上的一个抽象层。 房间的限制与 SQLite 相同

字符串或 BLOB 的最大长度 默认大小为 1 GB 最大大小为 2.147483647

最大列数 默认大小为 2000 最大大小为 32767

SQL 语句的最大长度 默认大小为 1 MB 最大大小为 1.073741824

连接中的最大表数默认为 64 个表

附加数据库的最大数量默认为 10 最大大小为 125

表最大行数最大为 18446744073.709552765

最大数据库大小 140 tb,但这取决于您的设备磁盘大小。

来自 sqlite 文档https://www.sqlite.org/limits.ZFC35FDC70D5FC69D23EZC88

我也有同样的疑惑。 由于 Room 在下面使用 SQLite,因此 SQLite 数据库网站不得不说 SQLite 数据库的最大大小及其在大容量下的性能。

每个数据库都由一个或多个“页面”组成。 在单个数据库中,每个页面的大小相同,但不同数据库的页面大小可以是 512 和 65536 之间的 2 的幂,包括 512 和 65536。 数据库文件的最大大小为 2147483646 页。 在最大页面大小为 65536 字节时,这相当于最大数据库大小约为 1.4e+14 字节(140 TB,或 128 TB,或 140,000 GB 或 128,000 GB)。

此特定上限未经测试,因为开发人员无法访问能够达到此限制的硬件。 但是,测试确实验证了 SQLite 在数据库达到底层文件系统的最大文件大小(通常远小于最大理论数据库大小)以及数据库由于磁盘空间耗尽而无法增长时的行为正确和健全。

我认为任何应用程序都不会消耗这个大小的一小部分。

SQLite 限制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM