![]() |
1
4
可变长度列的空值存储在空位图中,该位图至少自SQLServer2000以来出现在每条记录中:列本身不使用任何空间。(编辑:长度为2字节,当然为零) 对于定长列,空位图表示在定长列的存储所占用的空间中不需要sentinel值。 撇开索引不谈,空值比较会更快,因为这一点,以及与空值的比较总是未知的(这会变成false) 编辑: 保罗·兰德尔的 Inside the Storage Engine: Anatomy of a record 显示在磁盘上的结构+解释空位图优化+如何存储固定和可变长度列 编辑2:再次阅读问题。。。 从存储的角度来看,空位图可能不会是一个优化,因为它添加了一个字节(或几个字节)。但是,在实践中,它避免了寻找空值的大量处理。 |
![]() |
2
1
假设表中有空值,它们不占用任何空间,这非常好,但一旦将一些数据放入该空间,就需要将所有数据移到后面,以便为新数据腾出空间,这样做的代价比不预先为可空字段分配硬盘空间的代价更大。 长话短说,数据库适用于硬盘没有问题的环境,所以这么小的优化不是很重要,因此每个记录中都有一个可为null的标志,如果为true,则记录为null,否则它有一个值。 希望我的解释有帮助
|
![]() |
3
0
空标志存储在每行的开头,但磁盘上的结构是固定大小的重复结构。
无论您向每一行输入了多少数据,每一行都将占用相同的空间。 |
![]() |
kesape · Firebase存储。下载图像阵列 3 年前 |
![]() |
Rajesh K · 如何查找设备中存在的广告垃圾? 7 年前 |
![]() |
Wouter A · 如何在Java中高效地存储滚动播放项属性? 7 年前 |
![]() |
Nik Rubblers · 页面间离子/角度共享数据 7 年前 |
|
Dibyaranjan Mishra · 从SD卡删除音频 7 年前 |
![]() |
4xy · 如何使日志增加日志存储容量? 7 年前 |
![]() |
Shyanide · 无法访问Android外部存储中的文件 7 年前 |
![]() |
Javed · laravel:如何在数据库中存储文件上载路径 7 年前 |