sql - 我想将 n MB 的数据添加到我的数据库中,并且我希望数据库大小仅增长 n MB

标签 sql database firebase-realtime-database

我有一个假设的值数据库,每个值的大小为 4 个字节(即 4,000,000,000)。所有值都存在于数据库中,因此它以 0 开头,以最大的 4 字节数字结尾。

只有一次,我想通过将 1 到 10000 之间的数字添加到它们前面的列(或空格)来标记数据库中的一些值。

比如我的数据库是:

0 1个 2个 3个 4个 5个 . . . . 10000

而且只有一次,我想标记其中一些数字并在它们前面添加一个数字:

0 90 1个 2个 3 10 4 55 5个 6个 7 8个 9 . . . . 10000

如您所见,我只在 3 个值(0、3、4)前添加了一些数字。

我的问题是我尝试了多种数据库,例如 SQL、NoSQL、JSON 等。但是每次我将这些数字添加到这 3 个值时,数据库大小都会增加数兆字节的数据,这超出了我的预期。

换句话说,我希望能够将 n MB 的信息添加到数据库中,并且保留大部分数据库值不变,并且我希望数据库的大小增加 n MB,而不是更多。你能帮我解决一下吗?

最佳答案

真正的问题是:您为什么关心“兆字节”的数据?除非您在移动设备上运行它,否则这不太可能成为现实世界的考虑因素。

数据库会产生大量开销——它们有索引、部分填充的页面、日志文件等等。它们支持多处理器、分布式内存和多磁盘。它们旨在实现 ACID 属性和数据检索操作。它们并非旨在最大限度地减少空间。

如果空间是一个问题,您可能应该以压缩的平面文件格式存储数据,并放弃数据库提供的其他功能。

关于sql - 我想将 n MB 的数据添加到我的数据库中,并且我希望数据库大小仅增长 n MB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56610430/

相关文章:

mysql - SQL 查询 : Separate column where IDs are the same but type is different

sql - 在不影响数据库的情况下由第三方创建数据模型

javascript - 在 Firebase 中通过多个键查询

sql - 按最大分组

c# - List<int> 到 sql "in"查询

java - 如何在android中选择网站数据库中的数据

javascript - Google Cloud Functions Promises 执行并返回

javascript - 如何从 Firebase React 获取和显示所有子列表

sql - SQL不接受我的评论

sql - 插入序列号的新列