用于 XML 文档存储的参数注:

如果您在地理数据库中不使用 XML 列和 XML 文档,则无需对这些参数进行配置。

包含 ArcSDE XML (SE_XML_TYPE) 列的表将采用两个端表在已建立索引的文档中存储 XML 文档和各个元素的内容。存储原生 SQL Server XML 列时,不使用端表。

XML_COLUMN_STORAGE 参数会确定是以 ArcSDE XML 方式,还是以原生 SQL Server XML 方式创建 XML 列。默认设置为使用 SQL Server XML (DB_XML)。

如果所用存储类型为 DB_XML,则可设置以下参数:

XML_COLUMN_SCHEMA

XML_COLUMN_TYPE

XML_COLUMN_PRIMARY_IDX

XML_COLUMN_PATH_IDX

XML_COLUMN_PROPERTY_IDX

XML_COLUMN_VALUE_IDX

XML_COLUMN_SCHEMA 用于指定添加或更改 XML 数据时所使用的模式集合。XML 模式集合对 XML 数据强制执行模式约束。

与 XML 模式集合关联的 XML 数据被称为类型化 XML。XML_COLUMN_TYPE 参数用于指定 XML 列存储的 XML 文档类型;CONTENT 或 DOCUMENT。默认值为 CONTENT。仅当 XML 数据只具有一个顶级元素时,才使用 DOCUMENT。

XML_COLUMN_PRIMARY_IDX、XML_COLUMN_PATH_IDX、XML_COLUMN_PROPERTY_IDX 和 XML_COLUMN_VALUE_IDX 用于确定是否在 XML 列中创建主索引、路径索引、属性索引或值索引。

如果搜索操作通常对整个 XML 文档内容进行检查以查看其中是否包含特定字,或者如果您根本不对 XML 文档进行搜索,则对 XML 文档表的使用将更加频繁。XML 文档表具有三种参数:

XML_DOC_INDEX

XML_DOC_STORAGE

XML_DOC_OUT_OF_ROW

XML_DOC_STORAGE 为表的创建语句提供存储字符串。XML_DOC_INDEX 指定索引填充系数和存储参数,而 XML_DOC_OUT_OF_ROW 用于确定将 BLOB 数据存储于行内还是行外。有关详细信息,请参阅本主题的“行内文本参数”一节。

如果对各个元素频繁搜索,则 XML 文档索引表将是 XML 表中受访问最为频繁的部分。XML 文档索引表具有更多配置参数;这些参数均以 XML_IDX_ 开头。

XML_IDX_CLUSTER_DOUBLE

XML_IDX_CLUSTER_ID

XML_IDX_CLUSTER_PK

XML_IDX_CLUSTER_TAG

XML_IDX_INDEX_DOUBLE

XML_IDX_INDEX_ID

XML_IDX_INDEX_PK

XML_IDX_INDEX_TAG

XML_IDX_STORAGE

XML_IDX_OUT_OF_ROW

XML_IDX_CLUSTER_* 参数用于指定应对 XML 文档索引表中的哪个索引进行聚集。默认情况下,对主键索引(xml_key_column 中)进行聚集。

以下参数对 XML 列的 XML 文档表和 XML 文档索引表均有影响。它们用于控制对文档内容建立索引的方式和时间。

XML_IDX_FULLTEXT_CAT

XML_IDX_FULLTEXT_LANGUAGE

XML_IDX_FULLTEXT_TIMESTAMP

XML_IDX_FULLTEXT_UPDATE_METHOD

XML_IDX_FULLTEXT_CAT 包含您所创建的全文目录的名称。默认为 SDE_DEFAULT_CAT。如果您要对全文目录的默认名称 SDE_DEFAULT_CAT 进行重命名,必须对此参数的配置字符串进行更新。

XML_IDX_FULLTEXT_LANGUAGE 表示对 XML 文档内容构建文本索引时进行语言分析的语言。未提供默认值;因此,可使用在 SQL Server 默认全文语言设置中定义的语言。如果提供了值,则将使用其进行语言分析。

XML_IDX_FULLTEXT_TIMESTAMP 和 XML_IDX_FULLTEXT_UPDATE_METHOD 用于控制全文索引维护。update_method 参数指示如何将文档表的更改内容传递至全文索引。默认情况下(默认值为 1),时间戳参数将向 SDE_xml_idx 表中添加时间戳列。如果设置为 0,则不添加时间戳列。

如果 update_method 和时间戳参数都设置为 0,则不执行索引维护,并且每当指示 ArcGIS 对全文索引进行更新时(通过 SE_xmlindex_update_text_index),索引将被填满。

如果 update_method 设置为 0 而时间戳参数设置为 1,则不执行索引维护,并且 ArcGIS 将对最近一次增量更新后的更改内容执行增量索引填充。

如果 update_method 设置为 CHANGE_TRACKING MANUAL,那么数据库将会列出发生更改的行,但不更新索引。

如果 update_method 设置为 CHANGE_TRACKING BACKGROUND,数据库将对更改内容进行追踪并自动更新索引。

建议您使用地理数据库中提供的默认设置。如果服务器无法完成其工作量并且您只能更改索引建立方式,则请将更改追踪功能设置为手动 (CHANGE_TRACKING MANUAL)。

接下来的参数 XML_IDX_INDEX_* 用于控制 SDE_xml_idx 表索引的填充系数和存储方法。XML_IDX_TEXT_IN_ROW 用于控制一行中可填充的 XML 文档 BLOB 数据量。同大多数行内文本设置一样,建议您不要对默认设置进行更改。