Wenn Sie einen Index fallen lassen, wird er aus der Datenbank entfernt, aber die Tabelle ist nicht beeinflusst.
Mit einem Beispiel erfahren wir, welche Indizes in SQLite enthalten sind, wie Indizes für einzelne oder viele Spalten in SQLite festgelegt werden und wie Sie SQLite -Indizes entfernen oder fallen lassen. Dann werden wir diskutieren, wie man sie in SQLite zeigt.”
Syntax der SQLite -Indizes
Erstellen [einzigartig] index [falls nicht existiert] index_name auf Tabelle_Name (Spalten… n);Die Erstellung indexer Index wird in der obigen Syntax verwendet, um einen neuen Index zu erstellen. Der bereitgestellte Indexname bezieht sich auf einen bestimmten Indexnamen, den wir generieren müssen. Die Schlüsselwörter und der Index sind Schlüsselwörter, und die angegebene Tabelle bezieht sich auf eine vorhandene Tabelle mit einem Spaltennamen.
Wenn wir mehr als ein Feld haben und dass Daten eindeutig definiert werden müssen, damit wir das eindeutige Schlüsselwort verwenden können, können wir das eindeutige Schlüsselwort verwenden. Eine eindeutige Klausel ist eine optionale Komponente dieser Syntax.
Schlüsselpunkte des SQLite -Index
Wie funktionieren Indizes in SQLite?
Eine bestimmte Tabelle muss mit jedem Index verbunden sein. Ein Index kann ein oder sogar mehr Felder enthalten, aber sie müssen alle in derselben Tabelle sein. In einer Tabelle können mehrere Indizes gefunden werden.
SQLite bietet eine B-Tree-Struktur zum Speichern von Indexdaten, wenn Sie einen Index hinzufügen. Die Indizes in SQLite werden unter Verwendung der B-Tree-Methode organisiert. Der B-Tree ist eher ein ausgewogener Baum als ein binärer Baum, da das B für Balanced steht.
Der Index umfasst Werte aus den Spalten, die wir im Index definiert haben, sowie den Wert row_id für jede dieser Spalten. SQLite kann die Zeile nun mit den Einträgen der indizierten Felder schnell lokalisieren.
Stellen Sie sich einen Datenbankindex vor, der einem Buchindex ähnelt,. Wir können schnell mehrere Seiten basierend auf Schlüsselwörtern suchen, indem wir den Index durchsuchen.
Wann sollten Indizes nicht verwendet werden?
Obwohl Indizes die Datenbankeffizienz verbessern sollen, gibt es Situationen, in denen sie nicht berücksichtigt werden sollten. Wann sollte ein Index verwendet werden? Die folgenden Faktoren können Sie bei der Entscheidung unterstützen.
Es wird nicht empfohlen, Indizes in:
Beispiel 1
Zunächst müssen wir die Tabelle erstellen, um ihre Indizes zu sehen. Wir haben unten eine Tabelle gezeigt, die wir mit dem Befehl create in SQLite erstellt haben und auch definierte Felder dieser Tabelle.
Erstellen table story_books (Jetzt haben wir einen Index einer einzelnen Spalte erstellt. Ein einspaltiger Index basiert auf einer einzelnen Datenbankspalte. Wir können mehrere Spalten gleichzeitig übergeben, um Indizes einer bestimmten Tabelle zu erstellen. Wir haben in der folgenden Abfrage einen einzelnen Feldnamen Book_name aus den Table Story_Books gegeben.
# Index idx_story_books_book erstellen auf story_books (book_name);Durch Verwendung der .Index -Methode, der in der Tabelle erstellte Index ist wie folgt angezeigt:
Eindeutige Indizes werden sowohl für die Datenintegrität als auch für die Leistung verwendet. Ein eindeutiger Index verhindert, dass doppelte Werte in die Tabelle eingegeben werden. Mit der folgenden Abfrage haben wir einen eindeutigen Index in der Book_ID -Spalte der Story_Book -Tabelle erstellt.
Erstellen Sie eindeutige Index idx_book_idDie Ausgabe zeigt, dass der Index erfolgreich erstellt wurde.
Wir haben einen selektiven Index in einer Tabelle Story_Book erstellt, indem wir nur einen Teil der Datensätze in den Index aufnehmen. Da wir eine Where -Klausel verwendet haben, erhalten nur die Datensätze, in denen das Book_price nicht null ist. Aufzeichnungen mit einem Nullwert für book_name sind nicht Teil des Index.
Erstellen index idx_book_priceBeim Ausführen der .Befehl indizier, er wird die Indizes in der Tabelle angezeigt. Wie Sie sehen können, ist dieser Book_price Index enthalten.
Beispiel 2
Der Drop -Befehl von SQLite wird verwendet, um einen Index zu entfernen. Das Ablegen eines Index sollte mit Vorsicht erfolgen, da die Funktionalität beeinträchtigt wird. Hier haben wir mit dem Drop -Befehl eine IF -Existenzklausel. Wenn der gewählte Index nicht vorhanden ist, wird keine Ausnahme generiert. Es ist nicht obligatorisch, die IF -Klausel zu verwenden. Wir können dies überspringen und einfach den Tisch fallen lassen. Wir haben den Index book_name aus dem table story_book durch die folgende Abfrage fallen gelassen.
Drop -Index, wenn existiert idx_story_books_book_name;Der Index mit dem Spalten book_name wird wie in der Shell gezeigt fallen gelassen.
Beispiel 3
Wir haben die Tabelle SQLite_Master verwendet, anstatt die zu verwenden .Indexes Befehl. Obwohl diese Tabelle mehr als nur Indizes enthält, können Sie die WO -Klausel verwenden, um sie nur auf Indizes zu beschränken.
WÄHLENWir haben die Tabelle, der jeder Index entspricht. Die Spalte TBL_Name verfolgt dies wie folgt.
Abschluss
In diesem Abschnitt haben wir die Grundlagen der Einrichtung eines Index in SQLite durchgesehen und diskutiert, wie diese Indizes in SQLite mit einigen Beispielen zeigen können. Diese Beispiele sind einfach zu bedienen und auch die Möglichkeiten, die die Indizes im SQLite anzeigen. Wenn Sie den gesamten Artikel lesen, sind Sie möglicherweise extrem klar.