Tipurile și structura tabelelor în MySQL

Baza de date MySQL suportă un număr de diferite tipuri de tabele, toate au capacitățile lor speciale și limitări.

Începe descrierea cu „nativ“ la datele de tip tabel MySQL MyISAM. În cazul în care declarația de masă a crea nu specifică tipul de tabel care va fi atribuit acest tip.
Fiecare tabel MyISAM este stocat pe disc în trei fișiere (în subdirectorul MySQL / date directorului), numele fișierelor coincid cu numele tabelului, iar extensia poate fi una dintre următoarele valori:
.FRM - structura de masă, acest fișier conține informații despre numele și tipurile de coloane și indici;
.MYD - acest fișier conține date în tabel;
.MYI - indici pe masă sunt conținute în fișierul.

Crearea unui tabel MyISAM cu o indicație clară a tipului:

Cu ajutorul motorului de cuvinte cheie este de preferat, cu toate acestea, este posibilă numai cu versiunea de MySQL 4.0.18.

În MySQL, există un tip de tabele Îmbină. vă permite să combinați mai multe tipuri de tabele MyISAM într-una singură. Acest tip este folosit în principal pentru eliminarea restricțiilor privind volumul pentru tabelele MyISAM. în cazul în cazul în care sistemul de operare sau de fișiere nu vă permite să creați fișiere mai mari decât o anumită dimensiune (de exemplu, pentru FAT32 4GB, etc.). tabele MyISAM sunt combinate într-un singur tabel MERGE. trebuie să aibă o structură identică, adică, aceleași coloane, indicii, și ordinea lor.
Pentru a crea un tabel cu structura de tip tabel MERGE va fi fișiere cu extensia .rfm și fișierele cu extensia .MRG. Fișierele .MRG conțin o listă de fișiere index, lucrările care trebuie efectuate ca un singur fișier.
Prin tabelul combinat, puteți utiliza un SELECT, DELETE și UPDATE. Dacă încercați să eliminați tabelul MERGE folosind comanda DROP TABLE, vei fi distrus doar MERGE de masă, tabelele MyISAM originale nu vor fi afectate.

Exemplu de creare a unui tabel MERGE:

Rezultatul din tabelul summ_table de eșantionare este după cum urmează:

În câmpul summ_table id-ul de masă unită nu mai este unic!
(Tabelele MERGE nu poate conține o cheie unică).

Exemplul arată că utilizând tabela cu setul de parametri UNION pentru asociere, și cu ajutorul setului de parametri parametru INSERT_METHOD pot adăuga înregistrări la masă MyISAM (ca și în acest caz valoarea este trecut una din cele trei constante).

PRIMA - Când introduceți o nouă înregistrare în tabelul MERGE. înregistrare situat în primul tabel al listei în parametrul UNION.
LAST - Înregistrarea este situată în ultimul tabel listă.
NO - Această valoare este în esență identică cu absența unui parametru, și înseamnă că inserția în tabela MERGE nu este posibil, și de a folosi o instrucțiune INSERT va duce la eroare.

Următorul tip de memorie (HEAP) tabele stocate în memoria RAM, motiv pentru care toate cererile de astfel de tabele sunt foarte rapide. Dezavantajul unei astfel de tabel - o pierdere completă a datelor în cazul în care serverul nu. Prin urmare, în aceste tabele sunt stocate în date temporare principale care pot fi ușor restaurate din nou.
HEAP este un sinonim pentru memorie. Cu toate acestea, de preferat să se folosească de memorie - care este mai târziu.
Când creați un tabel de memorie de tip. a creat un fișier cu extensia Frmpentru, în care structura de masă este definită. Când oprirea sau repornirea serverului, structura tabelei de date rămân, dar toate informațiile conținute în acest tabel este pierdut, deoarece stocate numai în memoria RAM. De fiecare dată când reporniți serverul, re-crea tabelul nu este necesar, structura sa rămâne.
MEMORIE tip de tabel au unele limitări:
1. indexuri sunt utilizate numai într-o operațiune de comparație cu operatorii „=“ și "<=>„Cu alți operatori, cum ar fi“> „sau“<", индексирование столбцов не имеет смысла.
2. Ca și în tabele îmbinați pot utiliza doar indici non-unice.
3. Nu este coloanele permise tipuri TEXT și BLOB.
4. Înainte de a MySQL 4.1 în tabelele de acest tip nu sunt AUTO_INCREMENT podderzhivalyas.

Tipuri de Exemplu a crea tabele de memorie:

Tipul de exemplu este un ciot, pentru a crea un tabel de acest tip poate fi, dar nu pot primi sau transmite date. Când creați un tabel de tabele de tip și memoria creat doar un singur FRM fișierul în ea este determinată de structura mesei.
Tipul EXEMPLU a fost introdus pentru comoditate și daemonstriruet modul de a crea masa ta. În opinia mea personală - cel mai dubios tip de utilitate. )
Exemplu de creare tabel și modificarea datelor această încercare:

tabele BDB sunt servite manipulant tranzacțional BerkleyDB, care este dezvoltat de Sleepycat. Când creați tabele de acest tip sunt formate din două fișiere. O extensie FRM și este stocată în structura de masă, cealaltă extensie db sunt stocate date și indexurile.

Exemplu de creare a unui tabel BDB:

InnoDB tip de tabel dezvoltat de Innobase Oy. Tabelele de acest tip oferă de înaltă performanță și stocarea stabilă a datelor din tabelele de până la 1 TB și sarcina pe server de până la 800 de accesorii / actualizări pe secundă.

Caracteristici cum ar fi InnoDB:
1. Toate tabelele sunt stocate într-un singur spațiu de tabelă, astfel încât numele tabelă trebuie să fie unic.
2. Stocarea datelor într-un singur spațiu tabelă vă permite să eliminați restricția privind cantitatea de tabele. Fișiere cu tabele pot fi defalcate în bucăți mai mici și distribuite pe mai multe discuri, sau chiar gazdă.
Tabelul 3. suport failover automat.
4. sprijină tranzacția.
5. Acest tip de tabele în MySQL singura care acceptă ștergeri cascadă și chei străine.
6. blocați la nivelul record individuale.
7. Există sporită sprijin pentru codificări.

Exemplu de creare a tabelelor InnoDB:


„tipuri exotice de tabele“ - la aceste tipuri de I includ pe cei în care el nu a folosit, și m-au, puțin studiat - dar cu toate acestea, ele sunt acolo și merită să le menționez.

NDB Cluster
NDB Cluster de tip tabel pentru organizarea MySQL Cluster, într-un caz în care o masă distribuită pe mai multe calculatoare în rețea.

ARHIVA
Tipul de arhivă este proiectat pentru a stoca cantități mari de date într-un format comprimat. Stabilirea unor astfel de tabele, un fișier coincide cu numele de tabel și cu extinderea FRM, care stochează structura de masă. În plus, aceasta creează două fișiere cu extensiile Arz și ARM, care stochează date și meta-date, respectiv. În plus, în timp ce optimizarea tabel pot apărea odată cu extinderea fișierului ARN.
tabele ARHIVA acceptă numai două instrucțiuni SQL: INSERT si SELECT. instrucțiune SELECT este executată prin scanarea tabelului.

FEDERAȚIA
Tipul FEDERAȚIA permite stocarea de date pe tabelele de la distanță, care sunt situate pe alte mașini de pe rețea. La crearea unui tabel este creat doar structura unui fișier cu extensia Frmpentru, deoarece datele sunt stocate pe o mașină de la distanță.
Pentru a crea un tabel, trebuie să creați mai întâi un tabel federalizată pe mașina de la distanță, și apoi la o mașină de lucru cu o indicație la distanță.

Exemplu de creare a unui tabel FEDERATED:

Asta e, probabil, tot.

articole similare