Indicii sunt utilizate pentru a accelera recuperarea datelor din tabelele bazei de date. De fapt, indicele în MySQL - este un fel de un anumit câmp în tabel. Aceasta este, în cazul în care câmpul este de a face indexul, întregul tabel vor fi sortate pe acest domeniu. De ce este profitabil?
De exemplu, în tabelul nostru este 1000000 înregistrări. Fiecare intrare are un ID unic identificator. Și să spunem că avem nevoie pentru a scoate înregistrarea de către cu ID-ul = 530124. Dacă nu există nici un index, MySQL la rândul său, va trece prin toate înregistrările din tabel, până când găsește pe cel potrivit. În cel mai rău caz, el va trebui să treacă prin înregistrări 1000000. Desigur, acesta va fi foarte mult timp. Și dacă a existat un index (de exemplu, câmpul ar fi sortate), prelevarea de probe de înregistrare va avea loc, în medie, 100 000 de ori mai rapid. După cum puteți vedea, beneficiul este evident.
Cu toate acestea, indicii au un defect major, ceea ce nu permite indicele fiecărui câmp al tabelului. De fapt, indicele - este o altă masă, ci pur și simplu sortate câmpul corespunzător. Adică, ceea ce face un cod de câmp vă creați un altul exact aceeași masă, care se va ocupa mai mult spațiu pe disc.
Un alt mici indici negativi în MySQL este faptul că cererile de a introduce noi înregistrări sunt obligați să sorteze tabelul din nou. Ca urmare, se introduce înregistrări noi va fi un pic mai mult decât de obicei. Dar nu uitați că, în bolshiinstve cazuri trebuie să o fac mult mai rar decât o fac proba, astfel încât minus nu este esențială.
Cum sa faci un index în MySQL?
Pentru cheie primară (PRIMARY KEY) index este creat automat, dar pentru alte domenii din phpmyadmin secvență este după cum urmează:
- Vezi pagina phpMyAdmin principală.
- Selectați din lista derulantă numele bazei de date în cazul în care este necesară din tabel.
Și, în sfârșit, vreau să fac o mică treabă, înțelegeți: „Atunci când este necesar să se creeze o federație MySQL“:
- În cazul în care câmpul este foarte des merge probă, este necesar să se facă index.
- Și în acest caz, proba este rară (acest lucru se întâmplă uneori), indicii nu ar trebui să fie făcut foarte des dacă adăugați elemente la masă.
Și încă un lucru. Dacă dintr-o dată vedeți că selectați interogările împiedică foarte mult, apoi să analizeze motivul pentru acest lucru. Cel mai probabil, trebuie doar să adăugați un index. În general, de testare, și totul va deveni clar.
Recomanda acest articol unui prieten:
Daca ti-a placut site-ul, link-ul pentru a-l (pe site-ul dvs., pe forum, în contact)
Se pare ca acest lucru:
Bună, Michael. Problema am este că, atunci când fac clic pe butonul de indexare, apoi apare o eroare # 1170 - BLOB coloana / TEXT # „Textul #“ folosit în caietul de sarcini-cheie, fără o lungime a cheii. Te rog spune-mi ce să fac?
Afișați solicitarea de informatii. Problema apare atunci când există un tip de câmp BLOB / TEXT și deține alte tipuri, cum ar fi, de exemplu TINYBLOB. MEDIUMBLOB. LONGBLOB. TINYTEXT. MEDIUMTEXT și LONGTEXT și încercați să facă cheia primară.
SELECT id, titlu, descriere, vedere din datele UNDE POTRIVIRE (text) against (# '$ căutare #'). Ceva de genul asta. Scotoci prin intermediul internetului, dar este găsit nu știu, poate ca ceva diferit vrei?