表空间中的扩展数据块大小

扩展数据块是表空间容器中的存储器块。 它表示写下一个容器之前写入上一个容器的数据页数。 在创建表空间时,您可以根据对性能以及存储器管理的要求来选择扩展数据块大小。

选择扩展数据块大小时,应考虑:

  • 表空间中表的大小和类型。

    将 DMS 表空间中的空间一次分配给表一个扩展数据块。 当填充该表而一个扩展数据块变满时,会分配新的扩展数据块。 保留了 DMS 表空间容器存储器,这意味着将分配新的扩展数据块,直到彻底用完容器为止。

    将 SMS 表空间中的空间一次分配给表一个扩展数据块或者一次分配给表一页。 当填充该表而一个扩展数据块或页变满时,会分配新的扩展数据块或页,直到使用了文件系统中的所有扩展数据块或页为止。 当使用 SMS 表空间时,允许进行多页文件分配。 多页文件分配允许分配扩展数据块而不是一次分配一页。

    缺省情况下,启用了多页文件分配功能。 multipage_alloc 数据库配置参数值将指示是否已启用多页文件分配功能。

    注: 多页文件分配不适用于临时表空间。
    一个表由下列单独的表对象组成:
    • 数据对象。 它是存储规则列数据的地方。
    • 索引对象。 在表上定义的所有索引都存储在这里。
    • 长字段(LF)数据对象。 如果表有一个或多个 LONG 列,那么长字段数据存储在此处。
    • 两个大对象 (LOB) 数据对象。 如果表有一个或多个 LOB 列,那么它们都存储在这两个表对象中:
      • 一个表对象用于存储 LOB 数据
      • 第二个表对象用于存储描述 LOB 数据的元数据
    • 多维集群 (MDC) 表的块映射对象。
    • 一个额外的 XDA 对象,它存储 XML 文档。

    每个表对象都是单独存储的,每个对象按需要分配新的扩展数据块。 每个 DMS 表对象还与称为扩展数据块映像的元数据对象配成一对,该元数据对象描述该表空间中属于该表对象的所有扩展数据块。 用于扩展数据块映像的空间也是以一次一个扩展数据块的方式分配。 因此,DMS 表空间中对象的初始空间分配是两个扩展数据块。 (SMS 表空间中对象的初始空间分配是一页。)

    如果您在一个 DMS 表空间中有多个较小的表,那么可能要分配相对大的空间来存储相对少量的数据。 在这种情况下,应该指定小的扩展数据块大小。 但是,如果您有一个增长速率高的非常大的表,且您正使用具有较小扩展数据块大小的 DMS 表空间,那么可能会更频繁地分配不必要的额外扩展数据块。

  • 对这些表访问的类型。

    如果对表的访问包括许多查询或处理大量数据的事务,那么从表中预取数据可以显著改善性能。

  • 必需的扩展数据块的最小数目。

    如果容器中没有足够的空间以供表空间的五个扩展数据块使用,那么将无法创建表空间。