HSQLDB - indeksy

ZA database indexto struktura danych, która poprawia szybkość operacji w tabeli. Indeksy można tworzyć przy użyciu jednej lub więcej kolumn, co stanowi podstawę zarówno do szybkiego losowego wyszukiwania, jak i efektywnego uporządkowania dostępu do rekordów.

Tworząc indeks, należy się zastanowić, jakie kolumny będą używane do tworzenia zapytań SQL i utworzyć jeden lub więcej indeksów na tych kolumnach.

Praktycznie indeksy są również rodzajem tabel, które przechowują klucz podstawowy lub pole indeksu i wskaźnik do każdego rekordu w rzeczywistej tabeli.

Użytkownicy nie widzą indeksów. Służą one tylko do przyspieszenia zapytań i będą używane przez wyszukiwarkę bazy danych do szybkiego lokalizowania rekordów.

Instrukcje INSERT i UPDATE zajmują więcej czasu w tabelach z indeksami, podczas gdy instrukcje SELECT działają szybciej w tych tabelach. Powodem jest to, że podczas wstawiania lub aktualizacji baza danych musi również wstawiać lub aktualizować wartości indeksu.

Prosty i unikalny indeks

Możesz utworzyć unikalny indeks w tabeli. ZAunique indexoznacza, że ​​dwa wiersze nie mogą mieć tej samej wartości indeksu. Poniżej znajduje się składnia tworzenia indeksu w tabeli.

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2,...);

Do utworzenia indeksu można użyć jednej lub kilku kolumn. Na przykład utwórz indeks na tutorials_tbl za pomocą tutorial_author.

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)

Możesz utworzyć prosty indeks w tabeli. Po prostu pomiń słowo kluczowe UNIQUE w zapytaniu, aby utworzyć prosty indeks. ZAsimple index zezwala na zduplikowane wartości w tabeli.

Jeśli chcesz indeksować wartości w kolumnie w porządku malejącym, możesz dodać zarezerwowane słowo DESC po nazwie kolumny.

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author DESC)

ALTER Polecenie, aby dodać i upuścić INDEKS

Istnieją cztery typy instrukcji dodawania indeksów do tabeli -

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) - Ta instrukcja dodaje KLUCZ PODSTAWOWY, co oznacza, że ​​indeksowane wartości muszą być unikalne i nie mogą mieć wartości NULL.

  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list) - Ta instrukcja tworzy indeks, dla którego wartości muszą być unikalne (z wyjątkiem wartości NULL, które mogą wystąpić wielokrotnie).

  • ALTER TABLE tbl_name ADD INDEX index_name (column_list) - To dodaje zwykły indeks, w którym dowolna wartość może pojawić się więcej niż raz.

  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list) - Tworzy specjalny indeks FULLTEXT, który jest używany do wyszukiwania tekstu.

Poniżej znajduje się zapytanie o dodanie indeksu do istniejącej tabeli.

ALTER TABLE testalter_tbl ADD INDEX (c);

Możesz usunąć dowolny INDEX, używając klauzuli DROP wraz z poleceniem ALTER. Poniżej znajduje się zapytanie o usunięcie utworzonego powyżej indeksu.

ALTER TABLE testalter_tbl DROP INDEX (c);

Wyświetlanie informacji INDEKSU

Możesz użyć polecenia SHOW INDEX, aby wyświetlić listę wszystkich indeksów skojarzonych z tabelą. Wyjście w formacie pionowym (określone przez \ G) jest często przydatne w przypadku tej instrukcji, aby uniknąć zawijania długich linii.

Poniżej znajduje się ogólna składnia służąca do wyświetlania informacji o indeksie tabeli.

SHOW INDEX FROM table_name\G