Erstellt einen Textindex.
CREATE TEXT INDEX [ IF NOT EXISTS ] Textindexname ON [ Eigentümer.]Tabellenname( Spaltenname, ... ) [ IN DBSpace-Name ] [ CONFIGURATION [ Eigentümer.]Textkonfigurationsname ] [ { IMMEDIATE REFRESH | MANUAL REFRESH | AUTO REFRESH [ EVERY Ganzzahl { MINUTES | HOURS } ] ] }
IF NOT EXISTS-Klausel Wenn die IF NOT EXISTS-Klausel angegeben wurde und der benannte Textindex bereits vorhanden ist, werden keine Änderungen vorgenommen und es wird kein Fehler zurückgegeben.
ON-Klausel Verwenden Sie diese Klausel, um die Tabelle und die Spalten anzugeben, für die der Textindex erstellt werden soll.
IN-Klausel Verwenden Sie diese Klausel, um den DBSpace anzugeben, in dem sich der Textindex befindet. Wenn diese Klausel nicht angegeben ist, wird der Textindex in demselben DBSpace erstellt wie die von ihm referenzierte Tabelle.
CONFIGURATION-Klausel Verwenden Sie diese Klausel, um das Textkonfigurationsobjekt anzugeben, wenn Sie den Textindex erstellen. Wenn diese Klausel nicht angegeben ist, wird das Textkonfigurationsobjekt default_nchar verwendet, sofern eine der Spalten im Index NCHAR ist, sonst wird das Textkonfigurationsobjekt default_char verwendet.
REFRESH-Klausel Verwenden Sie diese Klausel, um den Aktualisierungstyp des Textindexes anzugeben. Wenn Sie keine REFRESH-Klausel angeben, wird IMMEDIATE REFRESH als Standardwert verwendet. Nachstehend finden Sie eine Liste der Aktualisierungstypen, die Sie angeben können:
IMMEDIATE REFRESH Geben Sie IMMEDIATE REFRESH an, wenn der Textindex jedes Mal aktualisiert werden soll, wenn Änderungen in der Basistabelle Auswirkungen auf die Daten im Textindex haben.
AUTO REFRESH Benutzen Sie diese Klausel, um den Textindex automatisch mit einem internen Serverereignis zu aktualisieren. Verwenden Sie die Subklausel EVERY, um das Aktualisierungsintervall in Minuten oder Stunden anzugeben. Wenn Sie AUTO REFRESH ohne Intervallinformationen angeben, aktualisiert der Datenbankserver den Textindex jeweils nach 60 Minuten. Ein Textindex kann früher als durch die AUTO REFRESH-Klausel angegeben aktualisiert werden, wenn der pending_size-Wert, der von der Systemprozedur sa_text_index_stats zurückgegeben wird, 20% der Textindexgröße bei der letzten Aktualisierung überschreitet oder wenn der deleted_lenght-Wert 50% der Textindexgröße überschreitet. Ein internes Ereignis wird einmal pro Minute durchgeführt, um diesen Zustand für alle AUTO REFRESH-Textindizes zu prüfen.
MANUAL REFRESH Benutzen Sie diese Klausel, um anzugeben, dass der Textindex manuell aktualisiert wird.
Weitere Hinweise zu Aktualisierungstypen finden Sie unter Textindex-Aktualisierungstypen.
Sie können keinen Textindex für Ansichten, materialisierte Ansichten oder temporäre Tabellen erstellen.
Ein IMMEDIATE REFRESH-Textindex wird während der Erstellung mit Daten gefüllt und für die Tabelle wird eine exklusive Sperre während dieser ersten Aktualisierung aufrechterhalten. IMMEDIATE REFRESH-Textindizes bieten umfassende Unterstützung für Abfragen, die die Snapshot-Isolation verwenden.
MANUAL- und AUTO REFRESH-Textindizes müssen initialisiert (aktualisiert) werden, nachdem sie erstellt wurden.
Die Aktualisierung von AUTO REFRESH-Textindizes durchsucht die Tabelle unter Verwendung der Isolationsstufe 0. Siehe isolation_level-Option.
Nachdem ein Textindex erstellt wurde, können Sie ihn nicht mehr von oder auf IMMEDIATE REFRESH ändern. Wenn eine dieser Änderungen erforderlich ist, müssen Sie den Textindex löschen und wiederherstellen.
Sie können einen AUTO REFRESH-Textindex manuell aktualisieren, indem Sie die REFRESH TEXT INDEX-Anweisung verwenden. Siehe REFRESH TEXT INDEX-Anweisung.
Hinweise zur Anzeige von Textindizes und der darauf Bezug nehmenden Textkonfigurationsobjekte finden Sie unter Textindexinfo in der Datenbank anzeigen.
Sie müssen Eigentümer der Basistabelle sein, DBA-Berechtigung besitzen oder die REFERENCES-Berechtigung haben.
Diese Anweisung kann nicht ausgeführt werden, wenn mit der WITH HOLD-Klausel geöffnete Cursor vorhanden sind, die entweder Anweisungs- oder Transaktions-Snapshots verwenden. Siehe Snapshot-Isolation.
Automatisches Festschreiben (Autocommit).
SQL/2008 Erweiterung des Herstellers.
Im folgenden Beispiel wird der Textindex myTxtIdx für die Spalte Description der Tabelle MarketingInformation in der Beispieldatenbank erstellt. Das MarketingTextConfg-Textkonfigurationsobjekt wird verwendet und das Aktualisierungsintervall ist auf alle 24 Stunden gesetzt.
CREATE TEXT INDEX myTxtIdx ON MarketingInformation ( Description ) CONFIGURATION default_char AUTO REFRESH EVERY 24 HOURS; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |