表的页大小

表数据行组织成称为“页”的块。 页可具有以下 4 种大小:4、8、16 和 32 KB。 表数据页不包含用 LONG VARCHAR、LONG VARGRAPHIC、BLOB、CLOB、DCLOB 或 XML 数据类型定义的列的数据。 当通过使用列的 INLINE LENGTH 选项直接插入了 LOB 或 XML 文档时例外。 但是,表数据页中的行包含这些列的描述符。

注: 可以使用 CREATE 和 ALTER TABLE 语句的 INLINE LENGTH 选项将某些 LOB 和 XML 数据放入基本表行中。

在特定大小的表空间中创建的所有表都具有匹配的页大小。 假设使用 32 KB 页大小,那么单个表或索引对象的最大大小可达 64 TB。

更大的页大小可减少索引中的级别数。 越大的页,支持的行越长。 如果使用缺省页大小 (4 KB),那么表最多可以有 500 列。 较大的页大小(8 KB、16 KB 和 32 KB)支持 1012 列。 表空间的最大大小与表空间的页大小成正比。

页大小定义用于表空间的页的大小。 页大小会根据表 1 中显示的数字限制表的行长度和列计数。

表 1. 常规表空间具有的页大小的含义
页面大小 行计数限制 行大小限制 列计数限制  
4 KB 255 4 005 字节 500  
8 KB 255 8 101 字节 1 012  
16 KB 255 16 293 字节 1 012  
32 KB 255 32 677 字节 1 012  
注: 大型表空间可以支持每个数据页超过 255 行。 在大型表空间中创建的表可以比在常规表空间中创建的表更大。 此外,大型表空间会存储所有永久数据,正如常规表空间所作一样。 结果是可以更好地使用数据页面上的空间。

要确定表空间的页大小,请考虑以下几点:

  • 对于运行随机行读写操作的 OLTP 应用程序,最好使用较小的(4 KB 或 8 KB)页大小。 这样,不需要的行会占用较少缓冲池空间。 16 或 32 KB 的页面大小适用于分析,对于 按列组织的 表,建议使用 32 KB 的页面大小。
  • 对于一次性访问大量连续行的 DSS 应用程序,页大小大一些会比较好。 页大小较大会减少读取特定数目的行所需的 I/O 请求数。 但是,对于此规则,也存在例外。 如果行大小小于 pagesize / maximum rows,那么每一页上都存在已使用的空间。 在这种情况下,更小一点的页大小可能更合适。