sql >> Databasteknik >  >> RDS >> Mysql

MySQL DROP INDEX

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!

  1. Behörighet nekades vid försök att importera en CSV-fil från PGAdmin

  2. Hur ser man loggfiler i MySQL?

  3. Använda tupler i SQL IN-sats

  4. MySQL-fel 1264:värde utanför intervallet för kolumn