Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用 sqlite 数据库。 添加记录时,磁盘空间显然用于非空数据。但是包含空值的数据记录呢?为什么我要问的是我将有大量列(50+)和数百万条包含空数据的记录,我想知道它是否是设计我的数据库的最有效方式
在 SQLite 的记录格式中,恰好需要一个字节来指定一个值是NULL.
NULL
如果您对数据库进行规范化,以便每个非NULL值有一条记录,则可以保存这些NULL字节,但非NULL值会产生额外的开销。SQLite 的最小记录开销是:
rowid
此外,将非NULL值存储在单独的表中可能需要索引才能获得有效的查找。