Po upuszczeniu indeksu jest on usunięty z bazy danych, ale nie ma to wpływu tabela, z którą jest powiązany.
Z przykładem dowiemy się, jakie indeksy są w SQLite, jak ustawić indeksy na pojedynczej lub wielu kolumnach w SQLite oraz jak usunąć lub upuścić indeksy SQLITE; Następnie omówimy, jak je pokazać w SQLite."
Składnia indeksów SQLITE
Utwórz [unikalne] indeks [jeśli nie istnieje] index_name na nazwa_beli (kolumny… n);Instrukcja Utwórz indeks jest używany w powyższej składni do zbudowania nowego indeksu; Podana nazwa indeksu odnosi się do określonej nazwy indeksu, którą musimy wygenerować. Słowa kluczowe i indeks to słowa kluczowe, a określona tabela odnosi się do istniejącej tabeli o nazwie kolumny.
Jeśli mamy więcej niż jedno pole i że dane należy zdefiniować wyjątkowo, abyśmy mogli użyć unikalnego słowa kluczowego, możemy użyć unikalnego słowa kluczowego; Unikalna klauzula jest opcjonalnym elementem tej składni.
Kluczowe punkty indeksu SQLite
Jak działają indeksy w SQLite
Określona tabela musi być podłączona z każdym indeksem. Indeks może zawierać jeden lub jeszcze więcej pól, ale wszystkie muszą znajdować się w tej samej tabeli. Kilka indeksów można znaleźć w tabeli.
SQLITE zapewnia strukturę B-Tree do przechowywania danych indeksu za każdym razem, gdy dodasz indeks. Indeksy w SQLite są zorganizowane za pomocą metody B-Tree. B-drzewo jest raczej drzewem zrównoważonym niż binarnym, ponieważ B oznacza zrównoważone.
Indeks zawiera wartości z kolumn, które zdefiniowaliśmy w indeksie, a także wartość Row_id dla każdej z tych kolumn. SQLITE może teraz szybko zlokalizować wiersz za pomocą wpisów indeksowanych pól.
Wyobraź sobie indeks bazy danych podobny do indeksu książek. Możemy szybko zlokalizować kilka stron na podstawie słów kluczowych, przeszukując indeks.
Kiedy nie powinny być używane indeksów?
Chociaż indeksy mają na celu poprawę wydajności bazy danych, są sytuacje, w których należy je pominąć. Kiedy należy użyć indeksu? Następujące czynniki mogą pomóc w podjęciu decyzji.
Nie zaleca się korzystania z indeksów w:
Przykład 1
Najpierw musimy zbudować tabelę, aby zobaczyć jej indeksy. Pokazaliśmy poniższą tabelę, którą utworzyliśmy za pomocą polecenia Utwórz w SQLite, a także zdefiniowane pola tej tabeli.
Utwórz tabela Story_books (Teraz utworzyliśmy indeks jednej kolumny. Indeks jednopolumnowy jest zbudowany wokół jednej kolumny bazy danych. Możemy przekazać wiele kolumn na raz, aby utworzyć indeksy określonej tabeli. W następującym zapytaniu podaliśmy jedną nazwę nazwy pola z tabeli Story_books.
# Utwórz indeks idx_story_books_book na Story_Books (nazwa_kokowania);Za pomocą .Metoda indeksu, indeks utworzony w tabeli można zobaczyć w następujący sposób:
Unikalne indeksy są wykorzystywane zarówno do integralności danych, jak i wydajności. Unikalny indeks zapobiega wprowadzaniu duplikatów wartości do tabeli. Korzystając z następującego zapytania, stworzyliśmy unikalny indeks w kolumnie Book_id Table Table Story_book.
Utwórz unikalne indeks idx_book_idWyjście pokazuje, że indeks został pomyślnie utworzony.
Stworzyliśmy selektywny indeks w tabeli Story_book, włączając tylko część rekordów w indeksie. Gdy użyliśmy klauzuli, tylko te rekordy, w których wartość książki nie jest zerowa, otrzymują częściowy indeks. Rekordy o wartości null dla nazwy książki nie będą częścią indeksu.
Utwórz indeks IDX_BOOD_PRICEPodczas wykonywania .Polecenie indeksów, pokazuje indeksy w tabeli. Jak widać, ten indeks Book_Price jest uwzględniony.
Przykład 2
Polecenie upuści SQLite służy do usunięcia indeksu. Upuszczanie indeksu należy dokonać ostrożnie, ponieważ może mieć wpływ na funkcjonalność. Tutaj, z poleceniem upuszczonym, mamy klauzulę IF IF. Jeśli wybrany indeks nie istnieje, żaden wyjątek nie zostanie wygenerowany. Używanie klauzuli IF istnieje nie obowiązkowe; Możemy to pominąć i po prostu upuść stół. Upuściliśmy indeksową nazwę_name z tabeli Story_book przez następujące zapytanie.
Upuść indeks, jeśli istnieje IDX_Story_Books_Book_name;Indeks z kolumnową nazwą_name jest upuszczony, jak pokazano w powładzie.
Przykład 3
Użyliśmy tabeli sqlite_master zamiast używania .Polecenie indeksów. Chociaż ta tabela zawiera więcej niż tylko indeksy, możesz użyć klauzuli gdzie ograniczyć ją tylko do indeksów.
WYBIERAĆMamy tabelę, do której odpowiada każdy indeks. Kolumna TBL_NAME śledzi to w następujący sposób.
Wniosek
W tej sekcji przekroczyliśmy podstawy ustanowienia indeksu w SQLite i omawialiśmy, jak pokazać, że indeksy w SQLITe z niektórymi przykładami. Te przykłady są łatwe w użyciu, a także sposoby, które pokazują indeksy w SQLITE. Kiedy czytasz cały artykuł, możesz być bardzo jasny.