Artikel Directory
MySQLindekstype/opret/brug kombinationsændring iMySQLbrug af kommandoudsagn
MySQL-indekser
Etableringen af MySQL-indekset er meget vigtigt for en effektiv drift af MySQL, og indekset kan i høj grad forbedre genfindingshastigheden af MySQL.
For eksempel, hvis MySQL med fornuftigt design og brug af indekser er en Lamborghini, så er MySQL uden indekser og indekser en menneskelig trehjulet cykel.
Indekset er opdelt i enkeltkolonneindeks og sammensat indeks.Enkeltkolonneindeks, det vil sige et indeks indeholder kun en enkelt kolonne, en tabel kan have flere enkeltkolonneindekser, men dette er ikke et sammensat indeks.Sammensat indeks, det vil sige, et indeks indeholder flere kolonner.
Når du opretter et indeks, skal du sikre dig, at indekset er en betingelse, der gælder for SQL-forespørgslen (normalt som en betingelse for WHERE-sætningen).
Faktisk er indekset også en tabel, tabellen gemmer primærnøgle- og indeksfelterne og peger på posterne i entitetstabellen.
Ovenstående taler om fordelene ved at bruge indekser, men overdreven brug af indekser vil føre til misbrug.Derfor vil indekset også have sine mangler: Selvom indekset i høj grad forbedrer forespørgselshastigheden, vil det reducere hastigheden på opdatering af tabellen, såsom INSERT, UPDATE og DELETE af tabellen.For når du opdaterer tabellen, gemmer MySQL ikke kun dataene, men gemmer også indeksfilen.
Indeksering af en indeksfil, der bruger diskplads.
normalt indeks
oprette indeks
Dette er det mest grundlæggende indeks, det har ingen begrænsninger.Det kan oprettes på følgende måder:
CREATE INDEX indexName ON mytable(username(length));
For CHAR- og VARCHAR-typer kan længden være mindre end den faktiske længde af feltet; for BLOB- og TEXT-typer skal længden angives.
Rediger tabelstruktur (tilføj indeks)
ALTER table tableName ADD INDEX indexName(columnName)
Angiv direkte ved oprettelse af tabellen
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
Syntaks for at droppe et indeks
DROP INDEX [indexName] ON mytable;
unikt indeks
Det ligner det tidligere almindelige indeks, forskellen er: værdien af indekskolonnen skal være unik, men nullværdier er tilladt.I tilfælde af et sammensat indeks skal kombinationen af kolonneværdier være unik.Det kan oprettes på følgende måder:
oprette indeks
CREATE UNIQUE INDEX indexName ON mytable(username(length))
Ændre tabelstruktur
ALTER table mytable ADD UNIQUE [indexName] (username(length))
Angiv direkte ved oprettelse af tabellen
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
Tilføj og fjern indekser ved hjælp af ALTER-kommandoen
Der er fire måder at tilføje et indeks til en datatabel på:
- ÆNDRINGSTABEL tbl_name TILFØJ PRIMÆR NØGLE (kolonneliste): Denne sætning tilføjer en primær nøgle, hvilket betyder, at indeksværdier skal være unikke og ikke kan være NULL.
- ÆNDRINGSTABEL tbl_name TILFØJ UNIKT indeksnavn (kolonneliste): Værdien af indekset, der oprettes af denne sætning, skal være unik (undtagen NULL, NULL kan forekomme flere gange).
- ÆNDRINGSTABEL tbl_name ADD INDEX index_name (column_list): Tilføj et normalt indeks, indeksværdien kan vises flere gange.
- ÆNDRINGSTABEL tbl_name TILFØJ FULDTEKST indeksnavn (kolonneliste):Udsagnet angiver indekset som FULLTEXT for fuldtekstindeksering.
Følgende eksempel er at tilføje et indeks til en tabel.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
Du kan også bruge DROP-sætningen på ALTER-kommandoen til at slette indekser.Prøv følgende forekomst for at slette indekset:
mysql> ALTER TABLE testalter_tbl DROP INDEX c;
Tilføj og fjern primærnøgler ved hjælp af ALTER-kommandoen
Den primære nøgle kan kun virke på én kolonne. Når du tilføjer et primærnøgleindeks, skal du sikre dig, at den primære nøgle ikke er NULL som standard (IKKE NULL).Eksempler er som følger:
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Du kan også slette en primær nøgle med ALTER-kommandoen:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Du behøver kun at angive den PRIMÆRE NØGLE, når du slipper den primære nøgle, men når du slipper et indeks, skal du kende indeksnavnet.
vise indeksoplysninger
Du kan bruge kommandoen SHOW INDEX til at liste de relevante indeksoplysninger i tabellen.Outputinformationen kan formateres ved at tilføje \G.
Prøv følgende eksempler:
mysql> SHOW INDEX FROM table_name; \G ........
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delte "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", hvilket er nyttigt for dig.
Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-496.html
Velkommen til Telegram-kanalen på Chen Weiliangs blog for at få de seneste opdateringer!
📚 Denne guide indeholder enorm værdi, 🌟Dette er en sjælden mulighed, gå ikke glip af det! ⏰⌛💨
Del og like hvis du har lyst!
Din deling og likes er vores kontinuerlige motivation!