PostgreSQL

Kā izmantot PostgreSQL materializētos skatus

Kā izmantot PostgreSQL materializētos skatus

PostgreSQL skati ir grafiskas tabulas, kas parāda datus no attiecīgajām tabulām. Var mainīt arī kopējos uzskatus. PostgreSQL skatu koncepciju pārceļ uz nākamo posmu, ļaujot skatiem materiāli uzglabāt informāciju, kas tiek dēvēta par materializētiem skatiem. Realizētais skats saglabā laikietilpīga, sarežģīta vaicājuma iznākumu, ļaujot ātri un ātri pieprasīt rezultātus. Materializētos viedokļus bieži izmanto datu noliktavās un biznesa informācijas lietojumprogrammās, jo tie ir noderīgi situācijās, kad nepieciešama ātra piekļuve datiem.

Kāpēc izmantot materializētus skatus?

Ja skata komanda jums ir pārāk gausa, ieteicams izmantot materializētu skatu. Realizētajiem skatiem ir daudz daudzpusības, ļaujot materiālā veidā paturēt reprezentāciju ar īsāku piekļuves laiku. Pieņemsim, ka jums ir jāizveido datu bāzes vaicājums, lai pievienotos dažām tabulām, noņemtu rindas no apvienotās kolekcijas un dažādos veidos kārtotu tabulas. Tas varētu būt sarežģīts un laikietilpīgs vaicājums, un bez materializētiem skatiem jūs galu galā izmantojat materializētu skatu, lai risinātu šo dilemmu. Šis raksts māca, kā PostgreSQL izmantot materializētus skatus.

Sintakse

>> IZVEIDOT MATERIALIZĒTU SKATU skata_nosaukums kā vaicājums AR [NĒ] DATI;

Šī vispārējā viedokļa izskaidrojums ir šāds:

Kā izmantot materializētus skatus

Sāciet PostgreSQL komandrindas apvalku, lai sāktu darbu pie materializētajiem skatiem.

Norādiet servera nosaukumu, datu bāzi, kurā vēlaties strādāt, porta numuru un lietotājvārdu, lai sāktu izmantot komandu apvalku. Atstājiet šīs vietas tukšas, ja vēlaties izmantot noklusējuma sistēmu.

1. piemērs: vienkāršs skats

Lai saprastu materializēto skatu, vispirms ir jāsaprot vienkārši uzskati. Tātad, izveidojiet jauno tabulu “Student”, izmantojot komandu CREATE TABLE, kā pievienots.

>> CREATE TABLE Student (sid sērijas PAMATSLĒGS, sname VARCHAR (100) NOT NULL, vecuma VARCHAR (100) NOT NULL);

Pēc tam ievietojiet tajā datus, izmantojot INSERT vaicājumu.

Ielādējiet tabulas “Student” ierakstus, izmantojot vienkāršā skata priekšrakstu SELECT.

>> SELECT * NO studenta;

2. piemērs: vienkāršs materializēts skats

Ir pienācis laiks aptvert materializēto skatu. Mēs izmantosim tabulu “Student”, lai izveidotu materializētu skatu. Mēs izveidosim materializētu skatu ar nosaukumu “std_view”, izmantojot komandu “CREATE MATERIALIZED VIEW”. Šajā skatā mēs no tabulas “Student” ienesīsim studenta vārda lauku “sname”, kolonnā “sname” sagrupēsim un sakārtosim augošā secībā.

>> IZVEIDOT MATERIALIZĒTU SKATU std_view KĀ IZVĒLĒTIES sname NO SKOLĒNU GRUPAS PĒC KĀRTĪBAS PĒC PASŪTĪJUMA;

Tagad, izmantojot vaicājumu SELECT, lai izpildītu skatu, studentu vārdi tiks atgriezti tabulas “Student” slejā “sname”.

>> SELECT * NO std_view;

3. piemērs: materializēts skats, izmantojot klauzulu WHERE

Tagad mēs izveidosim materializētu skatu, izmantojot klauzulu WHERE. Apsveriet šo tabulu “Student” ar dažām izmaiņām tās vērtībās.

Pēc tam mēs izveidosim materializētu skatu ar nosaukumu “teststd”, izmantojot vaicājumu “CREATE MATERIALIZED VIEW”. Izmantojot WHERE klauzulu, atlasīsim tabulas “Student” ierakstus, kur kolonnas “age” vērtība ir lielāka par “25”. Vaicājums darbojas pareizi, kā redzams attēlā.

>> IZVEIDOT MATERIALIZĒTU SKATU teststd kā ATLASIET sid, sname, age NO studenta WHERE vecums> '25';

Visbeidzot, mēs izpildīsim materializēto skatu, kuru tikko izveidojām, izmantojot komandu SELECT, kā norādīts zemāk. Jūs redzēsiet, ka tas atgriezīs visus ierakstus no tabulas “Students”, kurā slejas “vecums” vērtība ir lielāka par “25”."

>> SELECT * FROM teststd;

4. piemērs: Atsvaidziniet materializēto skatu, izmantojot klauzulu WITH NO DATA

Šajā piemērā mēs izveidosim materializētu skatu, kurā skata atsvaidzināšanai izmantosim klauzulu WITH NO DATA. Pieņemsim, ka šī tabula “Student” ar dažām izmaiņām tās vērtībās.

Tagad mēs izveidosim materializēto “teststd” skatu. Šajā skatā tabulā “students” tiks atlasīti ieraksti, kuros studentu vecums ir mazāks par 40 gadiem.'Ienestie ieraksti tiks sagrupēti un sakārtoti pēc augošā secības kolonnā' sid '. Vaicājuma beigās mēs izmantosim klauzulu BEZ DATIEM, lai norādītu, ka vaicājums materializētajā skatā nesaglabās nekādu informāciju. Tālāk parādītajam skatam vajadzētu veiksmīgi veikt šīs darbības.

>> IZVEIDOT MATERIALIZĒTU SKATU teststd AS SELECT sid, sname, age NO Student Kur vecums < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Pievienojot “WITH NO DATA” klauzulu materializētajam skatam, tas izveido tukšu. Šis materializētais skats nav vaicājams. Kā redzat nākamajā attēlā, ieraksti netiek ienesti jaunizveidotajā skatā.

Paziņojums ATJAUNOT MATERIALIZĒTU SKATU tiek izmantots, lai datus importētu materializētā skatā. Aizpildiet materializēto skatu, čaulā izpildot šādu vaicājumu REFRESH MATERIALIZED VIEW. Kā redzat, šis vaicājums ir darbojies efektīvi.

>> ATJAUNOT MATERIALIZĒTU SKATU teststd;

Atkal iegūstiet materializētā skata “teststd” ierakstus, izmantojot čaulā esošo priekšrakstu SELECT. Šoreiz SELECT vaicājums darbojas pareizi, jo 'REFRESH' priekšraksts ir ielādējis saturu materializētajā skatā.

5. piemērs: piliena materializēts skats

Šī komanda izdzēsīs materializēto skatu.

>> PILNOT MATERIALIZĒTU SKATU std_view;

Secinājums

Šis raksts parādīja, kā izmantot materializētus skatus, izmantojot WHERE klauzulu un REFRESH vaicājumus komandrindas čaulā.

Populārākās Oculus App Lab spēles
Ja esat Oculus austiņu īpašnieks, jums ir jāsazinās par sānu ielādi. Sānu ielāde ir process, kurā austiņās tiek instalēts saturs, kas nav veikals. Sid...
10 labākās spēles, kuras spēlēt Ubuntu
Windows platforma ir bijusi viena no dominējošajām spēļu platformām, jo ​​mūsdienās tiek attīstīts milzīgs spēļu skaits, lai atbalstītu Windows. Vai k...
5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...