SQLite-Index
Index (Index) ist eine spezielle Lookup-Tabelle, eine Datenbank-Suchmaschine zu beschleunigen Datenabruf verwendet. Einfach ausgedrückt, ist der Index ein Zeiger auf die Daten in der Tabelle. Eine Datenbank-Index eines Buches hinter dem Index ist sehr ähnlich.
Zum Beispiel, wenn Sie ein bestimmtes Thema in einem Buch alle Seiten verwiesen diskutieren wollen, müssen Sie zuerst auf einen Index, eine alphabetische Liste aller Themen zu zeigen, und dann auf eine oder mehrere bestimmte Seitenzahl verweisen.
Indizes ermöglichen die schnelle SELECT-Abfrage und die WHERE-Klausel, aber es wird die Dateneingabe verlangsamen mit UPDATE und INSERT-Anweisungen, wann. Index erstellt oder gelöscht werden, wird aber nicht die Daten beeinflussen.
Erstellen Sie einen Index mit der Anweisung CREATE INDEX, die Sie den Index zu nennen können, geben Sie die Tabelle indiziert werden und eine oder mehrere Spalten, und gibt der Index aufsteigend oder absteigend.
Index kann einzigartig und ähnliche UNIQUE sein zu verhindern, dass doppelte Einträge in der Spalte oder Kombination von Spalten.
CREATE INDEX-Befehl
CREATE INDEX Die grundlegende Syntax lautet wie folgt:
CREATE INDEX index_name ON table_name;
Ein separater Index
Der Index basiert auf nur einem einzigen Index auf eine Liste erstellt. Die grundlegende Syntax lautet wie folgt:
CREATE INDEX index_name ON table_name (column_name);
Eindeutiger Index
einen eindeutigen Index unter Verwendung ist nicht nur für die Leistung, sondern auch die Integrität der Daten. Einzigartige Index erlaubt keine doppelten Werte in der Tabelle. Die grundlegende Syntax lautet wie folgt:
CREATE UNIQUE INDEX index_name on table_name (column_name);
Composite-Index
Zusammensetzung Index basiert auf zwei oder mehr Spalten einer Tabelle erstellt. Die grundlegende Syntax lautet wie folgt:
CREATE INDEX index_name auf table_name (column1, column2);
Haben Sie einen separaten Index erstellen wollen, ist ein Composite-Index, unter Berücksichtigung der sehr häufig als Abfragefilterbedingungen in der WHERE-Klausel Spalten.
Wenn der Wert der Verwendung einer Spalte, wählen Sie einen separaten Index zu verwenden. Ist ein Filter in der WHERE-Klausel ist verwenden oft zwei oder mehr Spalten, dann wählen Sie eine Kombination aus dem Index zu verwenden.
Implizite Index
Implizite Index ist, dass wenn Sie ein Objekt erstellen, erstellt automatisch vom Datenbankserver. Indizes werden als Primärschlüssel-Bedingungen und eindeutige Einschränkungen automatisch erstellt.
Beispiele
Hier ist ein Beispiel ist, werden wir einen Index für die Spalte salary COMPANY Tabelle erstellen:
sqlite> INDEX salary_index AUF UNTERNEHMEN (Gehalt) zu schaffen;
Nun lassen Sie uns.indices Befehl listet alle verfügbaren Indizes der Tabelle FIRMA wie folgt verwenden:
sqlite> .indices COMPANY
Daraus ergeben sich die folgenden Ergebnisse, die implizite Indexsqlite_autoindex_COMPANY_1wird erstellt , wenn Sie eine Tabelle erstellen.
salary_index sqlite_autoindex_COMPANY_1
Sie können alle Index-Datenbank Bereiche auflisten, wie folgt:
sqlite> SELECT * FROM sqlite_master WHERE 'index' type =;
DROP INDEX-Befehl
Ein Index kann die SQLite -DROP - Befehl zu löschen verwenden.Besondere Aufmerksamkeit sollte sein, wenn der Index zu löschen, weil die Leistung verringern oder zu erhöhen.
Die grundlegende Syntax lautet wie folgt:
DROP INDEX index_name;
Sie können die folgende Anweisung verwenden, um einen Index erstellt früher zu löschen:
sqlite> DROP INDEX salary_index;
Unter welchen Umständen die Verwendung des Index zu vermeiden?
Obwohl der Index-Datenbank zur Verbesserung der Leistung ist, aber hier sind ein paar Fälle, die Notwendigkeit, die Verwendung des Index zu vermeiden. Wenn Sie einen Index verwenden, sollten Sie die folgenden Richtlinien überprüft werden:
Index sollte nicht auf kleine Tabellen verwendet werden.
Index sollte nicht in großen Mengen verwendet werden, gibt es häufige Updates oder Tischeinsatz Betrieb.
Index sollte nicht in der Spalte verwendet werden, enthält eine große Anzahl von NULL-Werten.
Index sollte nicht auf einer häufigen Betrieb der Kolonne verwendet werden.