XML 参数注:

XML 参数不适用于 DB2 for z/OS 上的地理数据库。此外,如果您在 Linux、UNIX 或 Windows 上的 DB2 中的地理数据库内未使用 XML 列和 XML 文档,则无需对这些参数进行配置。

DB2 XML 参数包括:XML_COLUMN_STORAGE

XMLDB_DOC_COMPRESSED

XMLDB_DOC_STORAGE_INLINE

XMLDB_DOC_STORAGE_TABLESPACE

XMLDB_IDX_TAG_INVALID_VALUES

XMLDB_INDEX_FULLTEXT

XMLDB_INDEX_TAG

XML_INDEX_TAGS_TABLE

XML_INDEX_TAGS_INDEX

XML_DOC_STORAGE

XML_DOC_LOB_SIZE

XML_DOC_VAL_LOB_SIZE

XML_DOC_MODE(默认情况下不出现在 DBTUNE 中)

XML_DOC_UNCOMPRESSED_TYPE

XML_IDX_STORAGE

XML_IDX_INDEX_ID

XML_IDX_INDEX_TAG

XML_IDX_INDEX_DOUBLE

XML_IDX_INDEX_STRING

XML_IDX_FULLTEXT_UPD_FREQUENCY

XML_IDX_FULLTEXT_UPD_MINIMUM

XML_IDX_FULLTEXT_IDXDIRECTORY

XML_IDX_FULLTEXT_WKDIRECTORY

XML_IDX_FULLTEXT_LANGUAGE

XML_IDX_FULLTEXT_CCSID

XML_COLUMN_STORAGE 参数用于确定是以 ArcSDE XML (SDE_XML) 类型,还是以本机 DB2 PureXML (DB_XML) 类型创建 XML 列。默认行为是使用 DB2 PureXML。

接下来的六个 XML 参数(XMLDB_DOC_COMPRESSED、XMLDB_DOC_STORAGE_INLINE、XMLDB_DOC_STORAGE_TABLESPACE、XMLDB_IDX_TAG_INVALID_VALUES、XMLDB_INDEX_FULLTEXT 和 XMLDB_INDEX_TAG)适用于 DB2 PureXML 列。如果使用默认值为 DB_XML 的 XML_COLUMN_STORAGE,这些参数就是您用于控制 XML 文档存储的参数。

XMLDB_DOC_COMPRESSED 用于指示是否将要以压缩形式存储在行内存储的 XML 文档。默认行为是存储未压缩的 XML 文档。以压缩形式存储文档可以在每个页面上放置更多记录。但是,如果压缩了数据,则必须在每次查询时对其进行解压缩。因此,在大多数情况下,优先采用未压缩的 XML 文档。

XMLDB_DOC_STORAGE_INLINE 用于指定是将 XML 文档存储为单独的 XML 存储对象(默认设置)还是存储在页面中的行内。如果存储在页面中,INLINE LENGTH 用于定义该存储占用的空间大小(以字节为单位)。最大值限制仅次于页面大小。例如,如果使用 4 KB 的默认页面大小,则行内数据的最大大小仅次于 4 KB。有关计算行内 XML 文档的最大大小的信息,请参阅 DB2 文档。

对于小 XML 文档(小于为数据库设置的页面大小),行内存储可以提供更好的性能,原因在于插入、更新和删除内容所需的输入/输出更少。XMLDB_DOC_STORAGE_TABLESPACE 参数可用于指定在其中存储 XML 存储对象的其他表空间。默认情况下,存储 XML 存储对象的表空间与业务表相同。您可以使用该参数指定其他表空间。如果您使用行内存储,则不能使用该参数。

XMLDB_IDX_TAG_INVALID_VALUES 实际上用于启用或禁用 XML 标记的验证。默认值 IGNORE INVALID VALUES 不能强制要求 XML 标记的有效性。将该参数设置为 REJECT INVALID VALUES 将导致拒绝使用标记值建立索引,如果标记不正确,DB2 将返回错误。

XMLDB_INDEX_FULLTEXT 和 XMLDB_INDEX_TAG 参数可用于设置在创建 XML 列时自动创建索引的过程。XMLDB_INDEX_FULLTEXT 的值为默认值时,不会在创建 XML 列时在该 XML 列上创建全文索引。创建 XML 列时,如果 XMLDB_INDEX_TAG 为默认值,则可以在该列创建 XML 索引。

上一组 XML 参数仅适用于 ArcSDE XML 列。

XML_INDEX_TAGS_TABLE 和 XML_INDEX_TAGS_INDEX 可在 DATA_DICTIONARY 关键字参数列表中找到。XML_INDEX_TAGS_TABLE 参数用于指定将要在其中创建 SDE_XML_INDEX_TAGS 系统表及其索引 xml_indextags_ix1 和 xml_indextags_ix2 的表空间。如果想要为这些对象指定单独的表空间,必须取消 XML_INDEX_TAGS_TABLE 参数的注释,并在创建地理数据库之前提供现有表空间名称。同样,指定 SDE_XML_INDEXES 的 xml_indexes_pk 索引的存储方式的 XML_INDEX_TAGS_INDEX 参数的值也必须在创建地理数据库之前修改。

XML_DOC_STORAGE、XML_DOC_LOB_SIZE 和 XML_DOC_VAL_LOB_SIZE 参数用于指定 SDE_XML_DOC 表的存储。XML_DOC_STORAGE 用于定义表本身的存储,XML_DOC_LOB_SIZE 用于指定表的 xml_doc 列中的 XML 文档大小,XML_DOC_VAL_LOB_SIZE 用于定义 xml_doc_val 列中的 XML 文档大小。

如果想要以未压缩状态存储 XML 文档,您需要向 DBTUNE 表添加 XML_DOC_MODE 参数并将该参数设置为 UNCOMPRESSED。如果想要在大多数情况下以未压缩状态存储 XML 文档,则将该参数及其值添加到 DEFAULTS 关键字列表中。如果仅想以未压缩格式存储部分 XML 文档,可创建自定义配置关键字,然后向该关键字中添加 XML_DOC_MODE 参数并将该参数设置为 UNCOMPRESSED。在某些情况下,即使是在压缩状态下,XML 文档也可能非常大(4 MB 或更大);因此,通常不需要在 DEFAULT 关键字参数列表中将 XML_DOC_MODE 参数设置为 UNCOMPRESSED。

将 XML_DOC_MODE 参数与 XML_DOC_UNCOMPRESSED_TYPE 参数配合使用。如果在任意关键字参数列表中将 XML_DOC_MODE 设置为 UNCOMPRESSED,您还必须在同一关键字中设置 XML_DOC_UNCOMPRESSED_TYPE 参数。XML_DOC_UNCOMPRESSED_TYPE 参数用于定义未压缩 XML 文档使用的存储格式。

XML_IDX_STORAGE 用于指定 XML 列的索引表(sde_xml_idx 表)的存储。

参数 XML_IDX_INDEX_ID、XML_IDX_INDEX_TAG、XML_IDX_INDEX_DOUBLE 和 XML_IDX_INDEX_STRING 用于定义 sde_xml_idx 表中的列上的不同索引的存储。XML_IDX_INDEX_ID 用于指定 ID 列上的 xmlix_id 索引的存储,XML_IDX_INDEX_TAG 用于指定 tag_id 列上的 xmlix_tg 索引的存储,XML_IDX_INDEX_DOUBLE 用于定义 double_tag 列上的 xmlix_db 索引的存储,XML_IDX_INDEX_STRING 用于定义 string_tag 列上的 xmlix_st 索引的存储。

XML_IDX_FULLTEXT_UPD_FREQUENCY 和 XML_IDX_FULLTEXT_UPD_MINIMUM 参数用于定义更新全文索引的时间。XML_IDX_FULLTEXT_UPD_FREQUENCY 用于指定全文索引更新周期(天数和小时数)。XML_IDX_FULLTEXT_UPD_MINIMUM 用于指示在更新全文索引之前可以添加到全文索引的新文档或已编辑文档的最小数目。

XML_IDX_FULLTEXT_IDXDIRECTORY 参数用于指示包含文本索引的目录的路径。XML_IDX_FULLTEXT_WKDIRECTORY 用于指定文本索引的工作目录的路径。XML_IDX_FULLTEXT_LANGUAGE 参数指定对 sde_xml_doc 表中 xml_doc_val 列的内容和 sde_xml_idx 表中 text_tag 列的内容构建文本索引时用于语言分析的语言。

如果以二进制格式存储文本文档,您应设置指定文档的 CCSID 的 XML_IDX_FULLTEXT_CCSID 参数。