Datenbank-Mapping database-mapping
Auf dieser Seite wird beschrieben, wie Indizes für die Felder eines Schemas deklariert werden.
Im Zuge der Umstellung von Campaign v7 auf v8 wurde der Campaign Classic-Dokumentationssatz optimiert und neu organisiert. Allgemeine Funktionen sind jetzt nur noch in der Dokumentation zu Campaign v8 verfügbar. Weitere Informationen zur SQL-Zuordnung von Schemata finden Sie in der zu Campaign v8.
Indizierte Felder indexed-fields
Mit Indizes können Sie die Leistung der in der Anwendung verwendeten SQL-Abfragen optimieren.
Ein Index wird aus dem Hauptelement des Datenschemas deklariert.
<dbindex name="name_of_index" unique="true/false">
<keyfield xpath="xpath_of_field1"/>
<keyfield xpath="xpath_of_field2"/>
...
</key>
Indizes befolgen die folgenden Regeln:
- Ein Index kann auf ein oder mehrere Felder in der Tabelle verweisen
- Ein Index kann in allen Feldern eindeutig sein (um Duplikate zu vermeiden), wenn das Attribut unique den Wert „true“ enthält
- Der SQL-Name des Index wird aus dem SQL-Namen der Tabelle und dem Namen des Index bestimmt
-
Standardmäßig sind Indizes die ersten Elemente, die über das Hauptelement des Schemas deklariert werden.
-
Indizes werden während der Tabellenzuordnung automatisch erstellt (Standard oder FDA).
Beispiel:
-
Hinzufügen eines Index zur E-Mail-Adresse und zum Ort:
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> -
Hinzufügen eines eindeutigen Index zum Namensfeld „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>
Weitere Informationen
Weitere Informationen finden Sie unter den folgenden Links:
- Erste Schritte mit Schemata
- Schemastruktur
- Schlüssel-Management
- Link-Verwaltung (Dokumentation zu Campaign v8)