Fragmentarea, partiționare - partiție

divizarea unui tabel sau indexul în mai multe porțiuni conectate logic. fragmente secțiuni cu o anumită trăsătură comună.
Să. că este, avem un tabel de taxe. am împărțit acest tabel într-o multitudine de secțiuni. de exemplu, pe o cumulare pentru fiecare lună

Cine și de ce? Problema cu partiționarea tabelei, care este strâns legată de o altă problemă importantă. problema de scalabilitate a proiectului.

Cu fragmentarea este posibil să se controleze fragmente (secțiuni) într-un tabel mare, care nu face parte din datele de care avem nevoie în acest moment poate fi transferat într-un purtător terț.

Lasă pentru muncă. pentru un acces optim de date, doar avem nevoie chiar acum în secțiunea de masă.
Este, de asemenea, foarte adesea necesară pentru a construi rapid un index pentru un anumit fragment. în locul întregului tabel. pentru a rezolva aceste probleme în Oracle folosind fragmentare.

Deci, pentru a demonstra aceste fragmentare este posibil să se prepare un caz mic test
Pentru a finaliza acest exemplu, vom avea nevoie pentru a introduce un utilizator cu drepturi de administrator.

Vom crea trei spații de tabelă separate, veți avea nevoie de ea pentru demo-uri

Fragmentarea unei liste de valori
Fragment (secțiune) este determinată de elementul din listă. această metodă de fragmentare este ideală. când o coloană predeterminată se utilizează un număr limitat de valori.


Fragmentarea folosind o funcție hash
În conformitate cu coloanele specifice din tabel. Oracle calculează valoarea hash a caracteristicilor speciale pe baza cărora determină ce fel de fragment de masă specificat locul de înregistrare


Tipul combinată de fragmentare
Sau tipul de fragmentare combină fragmentarea folosind o funcție hash, precum și fragmentarea gamei de valori

sintaxă
Crearea și fragmentarea tabelelor, o sintaxă suplimentară în CREATE TABLE - patition DE

Sintaxa comună pentru crearea de fermentat este următorul tabel


Utilizarea specifică a instrucțiunii SELECT pentru a selecta date din tabele fragmentate

Cu ajutorul instrucțiunea SELECT are posibilitatea de a alege toate datele din tabelele fragmentate și
SELECT utilizat pentru a selecta date dintr-un fragment predeterminat al mesei.

Date de solicitare afișează active din pt_3 tabel fragment

Fragmentarea gama de valori
Crearea unei intrări de tabel cu fragmentarea gamei de valori


Completați tabelul de valorile tranzacțiilor


Selectați din tabel

Exemplul următor arată împărțirea în fragmente dintr-un tabel în funcție de anul, care aparține instalația electrică


Exemplul următor ilustrează utilizarea tabelului de fragmentare, în funcție de valoarea numerică

Fragmentarea folosind LOV

Fragmentarea folosind o funcție hash

Crearea unei intrări de tabel cu fragmentarea funcției hash

Umple-l cu datele

Selectați din tabel

Și, de asemenea, să îndeplinească operatorul selectați pentru fiecare dintre fragmentele (secțiuni) a tabelului

fragmentarea mixtă

fragmentarea mixtă implică atât de fermentație într-un interval de valori și fragmentare suplimentară a funcției hash sau fragmentarea unei liste de valori


Completați tabelul pro_range_hash

Gestionarea datelor în fragmentele din tabel

Încercați să facă datele din tabel care nu sunt adecvate pentru condițiile de la oricare dintre fragmentele (secțiuni)

Serverul afișează o eroare

Ora-144000. secțiunea cheie introdusă nu corespunde niciunei secțiuni.

Modificarea datelor într-un astfel de mod de a schimba înregistrarea aparținând fragmentului


Obținem o actualizare eroare cheie secțiune prvedet să-l schimbe.
Cum de a face posibil transferul de linii?
Pentru a face acest lucru, trebuie să activați pentru opțiunea selectată rând movemen tabel t
executa script-uri


Ne îndeplini din nou actualizarea noastră

De data aceasta nu au existat erori. Actualizarea de rânduri în tabel a fost de succes.


Și, de fapt, de ce toate acestea au fost necesare? Cum se aplica?

Ai trei spații de tabelă, avem nevoie în prezent doar informații actuale cu privire la tipul de tabel pro_list documentelor RR într-un număr de spațiu tabelă TBLSP2.
Dezactivați celelalte spații tabelă și să le transporte peste la disc de rezervă.


Interogare pro_list tabel

Astfel, folosind fragmentarea în tabele mari cu mai multe milioane de discuri. există întotdeauna posibilitatea de a elibera spațiu pe disc și transfer de date neutilizate la mass-media de rezervă