資料庫對應 database-mapping

此頁面說明如何在綱要的欄位上宣告索引。

作為從Campaign v7轉變到v8的一部分,Campaign Classic檔案集已簡化並重新組織。 Campaign v8檔案集中現在提供常見功能。 若要進一步瞭解結構描述的SQL對應,請參閱Campaign v8檔案。

影像

索引欄位 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