sql >> Database teknologi >  >> RDS >> Mysql

MySQL DROP INDEX

Nogle gange skal du muligvis slette indeks i MySQL, hvis de ikke fungerer som forventet. Sådan dropper du indeks i MySQL ved hjælp af MySQL DROP INDEX-forespørgsel.

Sådan dropper du indeks i MySQL

Her er trinene til DROP INDEX i MySQL. Vi vil bruge MySQL DROP INDEX-forespørgsel til at fjerne eksisterende indeks fra en tabel.

Her er syntaksen for MySQL DROP INDEX-kommandoen

DROP INDEX index_name ON table_name
[algorithm_option | lock_option];

I ovenstående forespørgsel skal du erstatte indeksnavn med navn på indeks og tabelnavn med dit databasetabelnavn.

Bonus Læs:MySQL DROP UDENLANDSKE NØGLE

Du kan også angive 2 valgfrie argumenter – algorithm_option og lock_option.

algorithm_option kan have en af ​​3 værdier - standard, inplace, copy. Afhængigt af dit argument vil MySQL bruge forskellige algoritmer til at droppe indeks.

Dens syntaks er

ALGORITHM [=] {DEFAULT|INPLACE|COPY}
  • standard – Dette har samme effekt som ikke at bruge algorithm_option argument
  • kopi – Tabellen, hvor du skal slette indeks, vil blive kopieret, og indekset vil blive slettet fra kopitabellen. I dette tidsrum er samtidige handlinger såsom INSERT og UPDATE ikke tilladt.
  • inplace – I dette tilfælde genopbygges tabellen på plads uden indeks. Selvom denne indstilling tillader samtidige handlinger, sætter den en metadatalås under udførelsen.

Afhængigt af lock_option MySQL låser/låser ikke læse-/skriveadgang til dine tabeller, mens indekset slettes. lock_option har følgende syntaks

LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}

Det kræver 4 værdier:

  • standard – det tillader maksimal samtidighed for dit valg af algoritme. det tillader både samtidige læsninger og skrivninger, hvis det understøttes. Hvis ikke, tillader den kun samtidige læsninger. Hvis det heller ikke understøttes, gennemtvinger det eksklusiv adgang.
  • ingen – hvis det understøttes, kan du læse og skrive samtidig. Ellers giver MySQL en fejl.
  • delt – hvis delt mulighed er understøttet, kan du have samtidige læsninger, men ikke samtidige skrivninger.
  • eksklusiv – denne mulighed gennemtvinger eksklusiv adgang

Bonus Læs:MySQL DROP DATABASE

Eksempel på MySQL DROP INDEX

Lad os sige, at du har følgende tabel med indeks.

mysql> create table orders(order_id int primary key,
     order_date date,
     product varchar(255),
     sale int,
     index name(product)
     );

Her er SQL-forespørgslen for at slette eksisterende indeks navn fra tabel ordrer .

mysql> DROP INDEX name ON orders;

Bonus Læs:MySQL DROP COLUMN

MySQL DROP PRIMÆR NØGLE-indeks

Her er syntaksen til at droppe det primære nøgleindeks på tabelordrer.

mysql> DROP INDEX `PRIMARY` ON orders;

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Fremmednøgle til et af mange borde?

  2. Sådan beskytter du din MySQL &MariaDB-database mod cyberangreb, når du er på et offentligt netværk

  3. sammenføj to forskellige tabeller og fjern duplikerede poster

  4. Opretter forbindelse til Informix (IDS12 DB) i IRI Workbench