数据库映射 database-mapping

此页介绍如何在方案的字段中声明索引。

作为从Campaign v7过渡到v8的一部分,Campaign Classic文档集已得到简化和重新组织。 现在,Campaign v8文档集中专门提供了常用功能。 要了解有关架构的SQL映射的更多信息,请参阅Campaign v8文档。

image

索引字段 indexed-fields

通过索引,可以优化应用程序中使用的SQL查询的性能。

从数据架构的主元素声明索引。

<dbindex name="name_of_index" unique="true/false">
  <keyfield xpath="xpath_of_field1"/>
  <keyfield xpath="xpath_of_field2"/>
  ...
</key>

索引遵循以下规则:

  • 索引可以引用表中的一个或多个字段
  • 如果​ unique ​属性包含值“true”,则所有字段中的索引都可以是唯一的(以避免重复)
  • 索引的SQL名称由表的SQL名称和索引的名称确定
NOTE
  • 作为标准,索引是从架构的主元素声明的第一个元素。

  • 在表映射期间(标准或FDA)自动创建索引。

示例:

  • 向电子邮件地址和城市添加索引:

    code language-sql
    <srcSchema name="recipient" namespace="cus">
      <element name="recipient">
        <dbindex name="email">
          <keyfield xpath="@email"/>
          <keyfield xpath="location/@city"/>
        </dbindex>
    
        <attribute name="email" type="string" length="80" label="Email" desc="Email address of recipient"/>
        <element name="location" label="Location">
          <attribute name="city" type="string" length="50" label="City" userEnum="city"/>
        </element>
      </element>
    </srcSchema>
    
  • 向“id”名称字段添加唯一索引:

    code language-sql
    <srcSchema name="recipient" namespace="cus">
      <element name="recipient">
        <dbindex name="id" unique="true">
          <keyfield xpath="@id"/>
        </dbindex>
    
        <dbindex name="email">
          <keyfield xpath="@email"/>
        </dbindex>
    
        <attribute name="id" type="long" label="Identifier"/>
        <attribute name="email" type="string" length="80" label="Email" desc="Email address of recipient"/>
      </element>
    </srcSchema>
    

了解详情

浏览以下链接以了解更多信息:

recommendation-more-help
campaign-classic-help