Blob 空间分成称为 Blob 页的单元。 数据库服务器从 Blob 空间中,检索以 Blob 页大小为单位的简单大对象。创建 Blob 空间时,您可以按磁盘页的倍数指定 Blob 页的大小。
要尽快地检索简单大对象,请使用最大的简单大对象的大小(向上取整到最接近的磁盘页大小增量)。此方案确保数据库服务器即使在单个 I/O 请求中也能检索最大的简单大对象。 虽然此方案保证了最快的检索,但存在浪费磁盘空间的可能性。因为简单大对象存储在各自的 Blob 页(或 Blob 页组)中,所以即使简单大对象只占该页的一部分,数据库服务器也为每个 Blob 页保留同样大小的磁盘空间。 使用较小的 Blob 页可以更好地利用磁盘,特别是当简单大对象的大小存在着很大的差别时。
要实现理论上的磁盘空间最大利用率,您可以使 Blob 页的大小与标准磁盘页相同。这样,许多(如果不是绝大部分)简单大对象将需要多个 Blob 页。因为数据库服务器为每个 Blob 页都获取锁并发出不同的 I/O 请求,所以此方案的执行效果很差。
wasted-space = 8 KB * 40 = 329 KB
在此配置中,在 120 个简单大对象的数据块中浪费了 4 KB。总的浪费空间如下:
wasted-space = 4 KB * 120 = 640 KB
Blob 空间可包含的最大页数为 2147483647。因此,Blob 空间的大小限于 Blob 页大小 x 2147483647。这包括组成 Blob 空间的所有块中的 Blob 页。