MySQL MariaDB

Hoe vind ik de index van een tabel in MySQL?

Hoe vind ik de index van een tabel in MySQL?
Een databankindex is een gegevensarrangement dat de snelheid van tafeltransacties verhoogt. Met een of zelfs meer kolommen kunnen indexen worden gegenereerd, waarmee de basis wordt gelegd voor wederzijds snelle willekeurige zoekopdrachten en een effectieve indeling van de records. Houd hier rekening mee bij het samenstellen van een index, dat alle kolommen worden afgestoten om SQL-query's te genereren en ook om een ​​of zelfs verdere indexen voor die kolommen te maken. In de praktijk zijn indexen een vorm van tabellen die de primaire sleutel of het indexkolomveld bevatten en verwijzen naar de afzonderlijke tabel voor elke record. Gebruikers zien de indexen mogelijk niet, deze zijn verworpen om zoekopdrachten te versnellen, evenals de databasezoekmachine, zou ze gebruiken om records zeer snel te traceren.

Indexen met MySQL WorkBench

Start eerst uw MySQL Workbench en verbind deze met de rootdatabase.

We gaan een nieuwe tabel 'contacten' maken in de database 'data' met verschillende kolommen erin. We hebben één primaire sleutel en één UNIEKE sleutelkolom in deze tabel, e.g. ID en e-mail. Hier moet u verduidelijken dat u geen indexen hoeft te maken voor de UNIEKE en PRIMAIRE sleutelkolommen. De database maakt automatisch de indexen voor beide typen kolommen. We gaan dus index 'telefoon' maken voor de kolom 'telefoon' en index 'naam' voor de kolommen 'voornaam' en 'achternaam'. Voer de query uit met behulp van het flash-pictogram op de taakbalk.

U kunt aan de uitvoer zien dat de tabel en indexen zijn gemaakt.

Navigeer nu naar de schemabalk. Onder de lijst 'Tafels' vindt u de nieuw aangemaakte tabel.

Laten we de opdracht SHOW INDEXES proberen om indexen voor deze specifieke tabel te controleren, zoals hieronder weergegeven in het querygebied met behulp van het flash-teken.

Dit venster verschijnt meteen. U kunt een kolom 'Sleutelnaam' zien die laat zien dat de sleutel bij elke kolom hoort. Omdat we de index 'telefoon' en 'naam' hebben gemaakt, verschijnt deze ook. U kunt de andere relevante informatie over indexen bekijken e.g., volgorde van de index voor een bepaalde kolom, indextype, zichtbaarheid, enz.

Indexen met MySQL Command-Line Shell

Open de MySQL-opdrachtregelclientshell vanaf uw computer. Voer het MySQL-wachtwoord in om te gaan gebruiken.

Voorbeeld 01
Stel dat we een tabel 'order1' hebben in het schema 'order' met enkele kolommen met waarden zoals geïllustreerd in de afbeelding. Met behulp van het SELECT-commando moeten we de records van 'order1' ophalen.

>> KIES * UIT gegevens.bestelling1;

Aangezien we nog geen indexen hebben gedefinieerd voor de tabel 'order1', is het onmogelijk om te raden. Dus we zullen de opdracht SHOW INDEXES of SHOW KEYS proberen om de indexen als volgt te controleren:

>> TOONT ​​SLEUTELS VAN order1 IN data;

U kunt zien dat tabel 'order1' slechts 1 primaire sleutelkolom heeft uit de onderstaande uitvoer. Dit betekent dat er nog geen indexen zijn gedefinieerd, daarom worden er slechts 1-rij records weergegeven voor de primaire sleutelkolom 'id'.

Laten we de indexen controleren voor elke kolom in de tabel 'order1' waar de zichtbaarheid is uitgeschakeld, zoals hieronder weergegeven.

>> TOON INDEXEN VAN gegevens.order1 WAAR ZICHTBAAR = 'NEE';

Nu gaan we enkele UNIEKE indexen maken in de tabel 'order1'.  We hebben deze UNIEKE INDEX 'rec' genoemd en toegepast op de 4 kolommen: id, Region, Status en OrderNo. Probeer de onderstaande opdracht om dit te doen.

>> MAAK UNIEKE INDEX opnamegegevens.order1 (id, Regio, Status, Bestelnr);

Laten we nu eens kijken naar het resultaat van het maken van de indexen voor de specifieke tabel. Het resultaat wordt hieronder weergegeven na het gebruik van de opdracht SHOW INDEXES. We hebben een lijst met alle indexen die zijn gemaakt, met dezelfde namen 'rec' voor elke kolom.

>> TOON INDEXEN VAN order1 IN gegevens;

Voorbeeld 02
Neem aan dat een nieuwe tabel 'student' in de database 'data' met velden met vier kolommen enkele records bevat. Haal de gegevens uit deze tabel op met de SELECT-query als volgt:

>> KIES * UIT gegevens.leerling;

Laten we eerst de indexen van de primaire sleutelkolommen ophalen door de onderstaande opdracht SHOW INDEXES te proberen:.

>> TOON INDEXEN VAN gegevens.student WHERE Sleutelnaam = 'PRIMAIR';

U kunt zien dat het de indexrecord zal uitvoeren voor de enige kolom met het type 'PRIMARY' vanwege de WHERE-component die in de query wordt gebruikt.

Laten we één unieke en één niet-unieke index maken op de verschillende tabelkolommen voor 'student'. We zullen eerst de UNIEKE index 'std' maken in de kolom 'Naam' van de tabel 'student' met behulp van de opdracht CREATE INDEX op de opdrachtregelclientshell, zoals hieronder.

>>  UNIEKE INDEX std ON-gegevens MAKEN.studenten naam );

Laten we een niet-unieke index maken of toevoegen aan de kolom 'Onderwerp' van de tabel 'student' terwijl we het ALTER-commando gebruiken. Ja, we hebben het ALTER-commando gebruikt omdat het wordt gebruikt om de tabel te wijzigen. We hebben de tabel dus aangepast door indexen aan de kolommen toe te voegen. Dus laten we de onderstaande ALTER TABLE-query proberen in de opdrachtregelshell, voeg de index 'stdSub' toe aan de kolom 'Subject'.

>> WIJZIG TABEL gegevens.student TOEVOEGEN INDEX stdSub ( Onderwerp );

Nu is het de beurt om te controleren op de nieuw toegevoegde indexen op de tabel 'student' en de kolommen 'Naam' en 'Onderwerp'. Probeer de onderstaande opdracht om het te controleren.

>>  TOON INDEXEN VAN gegevens.leerling;

Uit de uitvoer kunt u zien dat de query's de niet-unieke index hebben toegewezen aan de kolom 'Onderwerp' en de unieke index aan de kolom 'Naam'. U kunt ook de namen van de indexen zien.

Laten we het DROP INDEX-commando proberen om de index 'stdSub' uit de tabel 'student' te verwijderen.

>> DROP INDEX stdSub ON gegevens.leerling;

Laat de resterende indexen zien, met behulp van dezelfde SHOW INDEX-instructie als hieronder:. We zijn nu vertrokken met de enige twee indexen die overblijven in de tabel 'student' volgens de onderstaande uitvoer.

>> TOON INDEXEN VAN gegevens.leerling;

Conclusie

Ten slotte hebben we alle nodige voorbeelden gedaan over het maken van unieke en niet-unieke indexen, het weergeven of controleren van indexen en het verwijderen van de indexen voor de specifieke tabel.

Sid Meier's Civilization VI downloaden en spelen op Linux and
Inleiding tot het spel Civilization 6 is een moderne versie van het klassieke concept dat werd geïntroduceerd in de serie Age of Empires-games. Het id...
Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...
Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...