Mapping de la base de données database-mapping
Cette page décrit comment déclarer des index sur les champs d’un schéma.
Dans le cadre de la transition de Campaign v7 vers v8, la documentation de Campaign Classic a été rationalisé et réorganisé. Les fonctionnalités communes sont désormais disponibles exclusivement dans le jeu de documentation de Campaign v8. Pour en savoir plus sur le mappage SQL des schémas, consultez la documentation de Campaign v8.
Champs indexés indexed-fields
Les index permettent d’optimiser les performances des requêtes SQL utilisées dans l’application.
Un index est déclaré à partir de l’élément principal du schéma de données.
<dbindex name="name_of_index" unique="true/false">
<keyfield xpath="xpath_of_field1"/>
<keyfield xpath="xpath_of_field2"/>
...
</key>
Les index suivent les règles suivantes :
- Un index peut référencer un ou plusieurs champs de la table.
- Un index peut être unique (afin d’éviter les doublons) dans tous les champs si l’attribut unique contient la valeur « true ».
- Le nom SQL de l’index est déterminé à partir du nom SQL de la table et du nom de l’index.
-
Par convention, les index sont les éléments déclarés en premier à partir de l’élément principal du schéma.
-
Les index sont crées automatiquement lors d’un mapping de table (mapping standard ou FDA).
Exemple:
-
Ajout d’un index à l’adresse e-mail et la ville :
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> -
Ajout d’un index unique au champ du nom « 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>
En savoir plus
Pour en savoir plus, consultez les liens suivants :
- Prise en main des schémas
- Structure d’un schéma
- Gestion des clés
- Gestion des liens (documentation de Campaign v8)