Czasami może być konieczne usunięcie indeksu w MySQL, jeśli nie działają zgodnie z oczekiwaniami. Oto jak usunąć indeks w MySQL za pomocą zapytania MySQL DROP INDEX.
Jak usunąć indeks w MySQL
Oto kroki do DROP INDEX w MySQL. Użyjemy zapytania MySQL DROP INDEX, aby usunąć istniejący indeks z tabeli.
Oto składnia polecenia MySQL DROP INDEX
DROP INDEX index_name ON table_name
[algorithm_option | lock_option];
W powyższym zapytaniu zastąp index_name z nazwą indeksu i nazwa_tabeli z nazwą Twojej tabeli bazy danych.
Przeczytaj bonus:MySQL UPUŚĆ KLUCZ OBCY
Możesz również podać 2 opcjonalne argumenty – algorithm_option i lock_option.
algorithm_option może mieć jedną z 3 wartości — default, inplace, copy. W zależności od argumentu, MySQL użyje różnych algorytmów do usunięcia indeksu.
Jego składnia to
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- domyślne – ma taki sam efekt, jak nieużywanie algorithm_option argument
- kopia – Tabela, w której należy usunąć indeks, zostanie skopiowana, a indeks zostanie usunięty z tabeli kopiowania. W tym czasie jednoczesne operacje, takie jak INSERT i UPDATE, są niedozwolone.
- inplace — w tym przypadku tabela jest przebudowywana w miejscu bez indeksu. Chociaż ta opcja pozwala na współbieżne operacje, blokuje metadane podczas wykonywania.
W zależności od lock_option MySQL zablokuje/nie zablokuje dostępu do odczytu/zapisu do Twoich tabel podczas usuwania indeksu. lock_option ma następującą składnię
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Przyjmuje 4 wartości:
- default – pozwala na maksymalną współbieżność dla wybranego algorytmu. umożliwia jednoczesne odczyty i zapisy, jeśli jest obsługiwane. Jeśli nie, umożliwia tylko współbieżne odczyty. Jeśli to również nie jest obsługiwane, wymusza wyłączny dostęp.
- brak – jeśli jest obsługiwany, możesz mieć jednoczesne odczyty i zapisy. W przeciwnym razie MySQL wyświetla błąd.
- współdzielone – jeśli opcja współdzielona jest obsługiwana, możesz mieć współbieżne odczyty, ale nie współbieżne zapisy.
- wyłączny – ta opcja wymusza wyłączny dostęp
Przeczytaj bonus:MySQL DROP DATABASE
Przykład MySQL DROP INDEX
Załóżmy, że masz poniższą tabelę z indeksem.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, index name(product) );
Oto zapytanie SQL, aby usunąć istniejący indeks nazwa z tabeli zamówienia .
mysql> DROP INDEX name ON orders;
Przeczytaj bonus:KOLUMNA UPUSZCZENIA MySQL
Indeks klucza podstawowego MySQL DROP
Oto składnia usuwania indeksu klucza podstawowego w zamówieniach tabel.
mysql> DROP INDEX `PRIMARY` ON orders;
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!