資料庫對應 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>
campaign-classic-help