Latest web development tutorials

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.