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ă