MySQL MariaDB

Cum găsesc indexul unui tabel în MySQL?

Cum găsesc indexul unui tabel în MySQL?
Un index de bancă de date este un aranjament de date care îmbunătățește rapiditatea tranzacțiilor de tabel. Având una sau chiar mai multe coloane, pot fi generați indexuri, punând bazele pentru căutări aleatorii reciproc rapide și aranjament efectiv de intrare. Acest lucru trebuie avut în vedere atunci când se construiește un index, că toate coloanele sunt abandonate pentru a genera interogări SQL și, de asemenea, pentru a construi unul sau chiar indici suplimentari pentru acele coloane. În practică, indexurile sunt o formă de tabele care conțin cheia primară sau câmpul coloanei de index și referință la tabelul individual pentru fiecare înregistrare. Este posibil ca utilizatorii să nu vadă indexurile, acestea fiind abandonate pentru a accelera interogările, precum și motorul de căutare în baze de date, le-ar consuma pentru a urmări înregistrările foarte repede.

Indici utilizând MySQL WorkBench

În primul rând, porniți MySQL Workbench și conectați-l la baza de date rădăcină.

Vom crea un nou tabel „contacte” în baza de date „date” cu coloane diferite în el. Avem o cheie primară și o coloană cheie UNICĂ în acest tabel, e.g. id și e-mail. Aici, trebuie să clarificați că nu este nevoie să creați indici pentru coloanele cheie UNIQUE și PRIMARY. Baza de date creează automat indexurile pentru ambele tipuri de coloane. Deci, vom face index „telefon” pentru coloana „telefon” și index „nume” pentru coloanele „primul_nume” și „ultimul nume”. Executați interogarea folosind pictograma flash de pe bara de activități.

Puteți vedea din rezultat că tabelul și indexurile au fost create.

Acum, navigați către bara de schemă. În lista „Tabeluri” puteți găsi tabelul nou creat.

Să încercăm comanda SHOW INDEXES pentru a verifica indexurile pentru acest tabel particular așa cum se arată mai jos în zona de interogare folosind semnul flash.

Această fereastră va apărea simultan. Puteți vedea o coloană „Key_name” care arată că cheia aparține fiecărei coloane. Pe măsură ce am creat indexul „telefon” și „nume”, apare și el. Puteți vedea celelalte informații relevante referitoare la indici e.g., secvența indexului pentru o anumită coloană, tip de index, vizibilitate etc.

Indexuri care utilizează Shell de linie de comandă MySQL

Deschideți shell-ul clientului din linia de comandă MySQL de pe computer. Introduceți parola MySQL pentru a începe să utilizați.

Exemplul 01
Să presupunem că avem un tabel „ordine1” în schema „ordine” cu unele coloane având valori așa cum este ilustrat în imagine. Folosind comanda SELECT, trebuie să preluăm înregistrările „order1”.

>> SELECT * DIN date.comanda1;

Deoarece nu am definit încă niciun index pentru tabelul „ordine1”, este imposibil de ghicit. Deci vom încerca comanda SHOW INDEXES sau SHOW KEYS pentru a verifica indexurile după cum urmează:

>> AFIȘAȚI CHEILE DIN datele order1 IN;

Puteți percepe că tabelul „ordine1” are doar 1 coloană cheie primară din ieșirea de mai jos. Acest lucru înseamnă că nu există încă indici definiți, de aceea afișează numai înregistrări pe 1 rând pentru coloana cheii primare „id”.

Să verificăm indexurile pentru orice coloană din tabelul „ordine1” unde vizibilitatea este dezactivată așa cum se arată mai jos.

>> AFIȘAȚI INDICELE din date.order1 WHERE VISIBLE = 'NU';

Acum vom crea niște indexuri UNIQUE pe tabelul „order1”.  Am numit acest INDEX UNIC ca „rec” și l-am aplicat celor 4 coloane: id, Regiune, Stare și Ordin nr. Încercați comanda de mai jos pentru a face acest lucru.

>> CREAȚI UNIQUE INDEX rec ON date.order1 (id, Regiune, Stare, OrderNu);

Acum să vedem rezultatul creării indexurilor pentru tabelul respectiv. Rezultatul este dat mai jos după utilizarea comenzii SHOW INDEXES. Avem o listă a tuturor indexurilor create, având aceleași nume „rec” pentru fiecare coloană.

>> AFIȘAȚI INDICELE din datele de comandă1 ÎN;

Exemplul 02
Să presupunem un nou tabel „student” în baza de date „date” cu câmpuri cu patru coloane care au unele înregistrări. Obțineți datele din acest tabel folosind interogarea SELECT, după cum urmează:

>> SELECT * DIN date.student;

Să preluăm mai întâi indexurile coloanei cheii primare încercând comanda SHOW INDEXES de mai jos.

>> AFIȘAȚI INDICELE din date.student WHERE Key_name = 'PRIMARY';

Puteți vedea că va afișa înregistrarea indexului pentru singura coloană cu tipul „PRIMARY” datorită clauzei WHERE folosită în interogare.

Să creăm un index unic și unul unic pe diferitele coloane „student” ale tabelului. Mai întâi vom crea indexul UNIQUE „std” pe coloana „Nume” a tabelului „student” utilizând comanda CREATE INDEX de pe shell-ul clientului din linia de comandă după cum urmează.

>> CREAȚI UNIQUE INDEX std ON date.numele studentului );

Să creăm sau să adăugăm un index non-unic în coloana „Subiect” a tabelului „student” în timp ce utilizăm comanda ALTER. Da, am folosit comanda ALTER deoarece este utilizată pentru a modifica tabelul. Așa că am modificat tabelul adăugând indexuri în coloane. Deci, haideți să încercăm interogarea ALTER TABLE de mai jos în shell-ul din linia de comandă, adăugăm indexul „stdSub” la coloana „Subiect”.

>> ALTER TABLE data.student ADAUGĂ INDICE stdSub (Subiect);

Acum, este rândul să verificați indexurile nou adăugate pe tabelul „student” și coloanele sale „Nume” și „Subiect”. Încercați comanda de mai jos pentru a o verifica.

>> AFIȘAȚI INDICELE din date.student;

Din ieșire, puteți vedea că interogările au atribuit indexul non-unic coloanei „Subiect” și indexul unic coloanei „Nume”. Puteți vedea și numele indexurilor.

Să încercăm comanda DROP INDEX pentru a renunța la indexul „stdSub” din tabelul „student”.

>> DROP INDEX stdSub ON date.student;

Să vedem indexurile rămase, folosind aceeași instrucțiune SHOW INDEX ca mai jos. Am rămas acum cu singurele două indexuri rămase în tabelul „student” conform rezultatului de mai jos.

>> AFIȘAȚI INDICELE din date.student;

Concluzie

În cele din urmă, am făcut toate exemplele necesare despre cum să creăm indici unici și non-unici, să afișăm sau să verificăm indexuri și să scăpăm indexurile pentru tabelul respectiv.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...