Soms moet u de index in MySQL verwijderen als ze niet presteren zoals verwacht. Hier leest u hoe u de index in MySQL kunt laten vallen met behulp van de MySQL DROP INDEX-query.
Hoe de index in MySQL te laten vallen
Hier zijn de stappen om DROP INDEX in MySQL te laten vallen. We zullen de MySQL DROP INDEX-query gebruiken om de bestaande index uit een tabel te verwijderen.
Hier is de syntaxis van het MySQL DROP INDEX-commando
DROP INDEX index_name ON table_name
[algorithm_option | lock_option];
Vervang in de bovenstaande query index_name met naam van index, en table_name met de naam van uw databasetabel.
Bonus lezen:MySQL DROP BUITENLANDSE SLEUTEL
U kunt ook 2 optionele argumenten opgeven – algorithm_option en lock_option.
algorithm_option kan een van de drie waarden hebben:standaard, inplace, copy. Afhankelijk van je argument, zal MySQL verschillende algoritmen gebruiken om de index te laten vallen.
De syntaxis is
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- standaard:dit heeft hetzelfde effect als het niet gebruiken van algorithm_option argument
- copy – De tabel waar u de index moet verwijderen, wordt gekopieerd en de index wordt verwijderd uit de kopieertabel. Gedurende deze tijd zijn gelijktijdige bewerkingen zoals INSERT en UPDATE niet toegestaan.
- inplace – In dit geval wordt de tabel opnieuw opgebouwd zonder index. Hoewel deze optie gelijktijdige bewerkingen toestaat, plaatst het een metadatavergrendeling tijdens de uitvoering.
Afhankelijk van lock_option MySQL vergrendelt wel/niet de lees-/schrijftoegang tot uw tabellen terwijl de index wordt verwijderd. lock_option heeft de volgende syntaxis
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Er zijn 4 waarden nodig:
- standaard - het staat maximale gelijktijdigheid toe voor uw keuze van algoritme. het staat zowel gelijktijdige lees- als schrijfbewerkingen toe, indien ondersteund. Als dat niet het geval is, staat het alleen gelijktijdige leesbewerkingen toe. Als dat ook niet wordt ondersteund, dwingt het exclusieve toegang af.
- geen - indien ondersteund, kunt u gelijktijdig lezen en schrijven hebben. Anders geeft MySQL een foutmelding.
- gedeeld – als de gedeelde optie wordt ondersteund, kunt u gelijktijdige leesbewerkingen hebben, maar geen gelijktijdige schrijfbewerkingen.
- exclusief – deze optie dwingt exclusieve toegang af
Bonus lezen:MySQL DROP DATABASE
MySQL DROP INDEX voorbeeld
Stel dat u de volgende tabel met index heeft.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, index name(product) );
Hier is de SQL-query om de bestaande index naam te verwijderen van tafel bestellingen .
mysql> DROP INDEX name ON orders;
Bonus lezen:MySQL DROP COLUMN
MySQL DROP PRIMARY KEY Index
Hier is de syntaxis om de primaire sleutelindex op tafelorders te laten vallen.
mysql> DROP INDEX `PRIMARY` ON orders;
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!