MySQL Datebank Index Typ / erstellen / benotzen Kombinatioun ALTER Ausso Benotzung an MySQL

MySQLIndex Typ / erstellen / benotzen Combo änneren anMySQLKommando Ausso Benotzung

MySQL Indexen

D'Grënnung vum MySQL Index ass ganz wichteg fir d'effizient Operatioun vu MySQL, an den Index kann d'Retrievalgeschwindegkeet vu MySQL staark verbesseren.

Zum Beispill, wann MySQL mat raisonnabelen Design a Gebrauch vun Indexen e Lamborghini ass, dann ass MySQL ouni Indexen an Indexen e mënschlechen Tricycle.

Den Index ass an eenzel Kolonn Index a Komposit Index opgedeelt.Single-Kolonn Index, dat heescht, en Index enthält nëmmen eng eenzeg Kolonn, en Dësch kann multiple Single-Kolonn Indexer hunn, mä dëst ass net e Komposit Index.Composite Index, dat heescht, en Index enthält verschidde Kolonnen.

Wann Dir en Index erstellt, musst Dir sécher sinn datt den Index eng Bedingung ass déi fir d'SQL Ufro gëllt (normalerweis als Bedingung vun der WHERE Klausel).

Tatsächlech ass den Index och en Dësch, den Dësch späichert de primäre Schlëssel an den Indexfelder, a weist op d'Records vun der Entitéitstabell.

Déi uewe schwätze vun de Virdeeler vum Gebrauch vun Indexen, awer exzessiv Notzung vun Indexen wäert zu Mëssbrauch féieren.Dofir wäert den Index och seng Mängel hunn: obwuel den Index d'Ufrogeschwindegkeet staark verbessert, reduzéiert se d'Geschwindegkeet vum Update vun der Tabell, wéi INSERT, UPDATE an DELETE vun der Tabell.Well wann Dir d'Tabell aktualiséiert, späichert MySQL net nëmmen d'Donnéeën, mee späichert och d'Indexdatei.

Indexéierung vun enger Indexdatei déi Disk Space verbraucht.


normalen Index

schafen Index

Dëst ass de meescht Basis Index, et huet keng Restriktiounen.Et kann op déi folgend Manéier erstallt ginn:

CREATE INDEX indexName ON mytable(username(length)); 

Fir CHAR- a VARCHAR-Typen kann d'Längt manner sinn wéi déi aktuell Längt vum Feld; fir BLOB- an TEXT-Typen muss d'Längt spezifizéiert ginn.

Änneren Dësch Struktur (add Index)

ALTER table tableName ADD INDEX indexName(columnName)

Gitt direkt un wann Dir den Dësch erstellt

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Syntax fir en Index erofzesetzen

DROP INDEX [indexName] ON mytable; 

eenzegaarteg Index

Et ass ähnlech wéi de fréiere gewéinleche Index, den Ënnerscheed ass: de Wäert vun der Indexkolonne muss eenzegaarteg sinn, awer null Wäerter sinn erlaabt.Am Fall vun engem Composite Index muss d'Kombinatioun vu Kolonnwäerter eenzegaarteg sinn.Et kann op déi folgend Manéier erstallt ginn:

schafen Index

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Änneren Dësch Struktur

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Gitt direkt un wann Dir den Dësch erstellt

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Füügt a läschen Indexen mam ALTER Kommando

Et gi véier Weeër fir en Index an eng Datentabelle ze addéieren:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): Dës Ausso füügt e primäre Schlëssel, dat heescht datt Indexwäerter eenzegaarteg musse sinn a kënnen net NULL sinn.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): De Wäert vum Index, deen duerch dës Ausso erstallt gëtt, muss eenzegaarteg sinn (ausser NULL, NULL kann e puer Mol optrieden).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Füügt en normalen Index derbäi, den Indexwäert kann e puer Mol optrieden.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):D'Ausso spezifizéiert den Index als FULLTEXT fir Volltext Indexéierung.

Dat folgend Beispill ass fir en Index an eng Tabell ze addéieren.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Dir kënnt och d'DROP Klausel am ALTER Kommando benotze fir Indexen ze falen.Probéiert déi folgend Instanz fir den Index ze falen:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Füügt a läschen primär Schlësselen mam ALTER Kommando

De primäre Schlëssel kann nëmmen op enger Kolonn handelen. Wann Dir e Primärschlësselindex bäidréit, musst Dir sécher sinn datt de Primärschlëssel net standardiséiert ass NULL (NET NULL).Beispiller sinn wéi follegt:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Dir kënnt och e primäre Schlëssel mat dem ALTER Kommando läschen:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Dir musst nëmmen de PRIMARY KEY spezifizéieren wann Dir de primäre Schlëssel erofgeet, awer wann Dir en Index erofgeet, musst Dir den Indexnumm kennen.


weisen Index Informatiounen

Dir kënnt de SHOW INDEX Kommando benotze fir déi relevant Indexinformatioun an der Tabell ze lëschten.D'Ausgabinformatioun kann formatéiert ginn andeems Dir \G.

Probéiert déi folgend Beispiller:

mysql> SHOW INDEX FROM table_name; \G
........

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeelt "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", wat fir Iech hëllefräich ass.

Wëllkomm de Link vun dësem Artikel ze deelen:https://www.chenweiliang.com/cwl-496.html

Wëllkomm op dem Telegram Kanal vum Chen Weiliang säi Blog fir déi lescht Updates ze kréien!

🔔 Gitt deen Éischten dee wäertvollen "ChatGPT Content Marketing AI Tool Usage Guide" am Kanal Top Verzeechnes ze kréien! 🌟
📚 Dëse Guide enthält en enorme Wäert, 🌟 Dëst ass eng selten Geleeënheet, verpasst et net! ⏰⌛💨
Deelen a liken wann dir wëllt!
Är Deelen a Likes sinn eis kontinuéierlech Motivatioun!

 

Comments

Är E-Mail Adress gëtt net verëffentlecht. Néideg Felder gi benotzt * Etikett

scroll no uewen