Ibland kan du behöva ta bort index i MySQL, om de inte fungerar som förväntat. Så här släpper du index i MySQL med MySQL DROP INDEX-fråga.
Hur man släpper index i MySQL
Här är stegen för att släppa INDEX i MySQL. Vi kommer att använda MySQL DROP INDEX-frågan för att ta bort befintligt index från en tabell.
Här är syntaxen för MySQL DROP INDEX-kommandot
DROP INDEX index_name ON table_name
[algorithm_option | lock_option];
Ersätt index_name i ovanstående fråga med namn på index och tabellnamn med ditt databastabellnamn.
Bonus Läs:MySQL DROP FOREIGN KEY
Du kan också tillhandahålla två valfria argument – algorithm_option och lock_option.
algorithm_option kan ha något av tre värden – standard, inplace, copy. Beroende på ditt argument kommer MySQL att använda olika algoritmer för att släppa index.
Dess syntax är
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- standard – detta har samma effekt som att inte använda algorithm_option argument
- kopia – Tabellen där du behöver ta bort index kommer att kopieras och indexet kommer att tas bort från kopieringstabellen. Under denna tid är samtidiga operationer som INSERT och UPDATE inte tillåtna.
- inplace – I det här fallet byggs tabellen om på plats utan index. Även om det här alternativet tillåter samtidiga operationer, sätter det ett metadatalås under körning.
Beroende på lock_option MySQL låser/låser inte läs-/skrivåtkomst till dina tabeller medan indexet raderas. lock_option har följande syntax
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Det tar fyra värden:
- standard – det tillåter maximal samtidighet för ditt val av algoritm. det tillåter både samtidiga läsningar och skrivningar om det stöds. Om inte tillåter den endast samtidiga läsningar. Om det inte heller stöds, upprätthåller det exklusiv åtkomst.
- ingen – om det stöds kan du ha samtidiga läsningar och skrivningar. Annars ger MySQL ett fel.
- delad – om delat alternativ stöds kan du ha samtidiga läsningar, men inte samtidiga skrivningar.
- exklusivt – det här alternativet tvingar fram exklusiv åtkomst
Bonus Läs:MySQL DROP DATABAS
Exempel på MySQL DROP INDEX
Låt oss säga att du har följande tabell med index.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, index name(product) );
Här är SQL-frågan för att ta bort befintligt index namn från bordsbeställningar .
mysql> DROP INDEX name ON orders;
Bonus Läs:MySQL DROP COLUMN
MySQL DROP PRIMARY KEY Index
Här är syntaxen för att släppa primärnyckelindex på bordsorder.
mysql> DROP INDEX `PRIMARY` ON orders;
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!