PostgreSQL

Cum se utilizează vizualizările materializate PostgreSQL

Cum se utilizează vizualizările materializate PostgreSQL

Vizualizările din PostgreSQL sunt tabele grafice care afișează date din tabelele corespunzătoare. Vizualizările comune pot fi, de asemenea, modificate. PostgreSQL duce conceptul de vizualizări la următoarea etapă permițând vizualizărilor să stocheze material informațiile, denumite vizualizări materializate. O vizualizare materializată păstrează rezultatul unei interogări complicate, care necesită mult timp, permițându-vă să interogați rapid rezultatele în orice moment. Punctele de vedere materializate sunt frecvent utilizate în depozite de date și aplicații de business intelligence, deoarece sunt utile în situații care necesită acces rapid la date.

De ce să folosiți vizualizări materializate?

Dacă comanda de vizualizare este prea lentă pentru dvs., este posibil să preferați să utilizați o vizualizare concretizată. Vizualizările materializate au multă versatilitate, permițându-vă să păstrați o reprezentare materială în baza de date cu timpi de acces mai scurți. Să presupunem că vi se cere să creați o interogare în baza de date pentru a vă alătura câtorva tabele, a elimina rândurile din colecția unită și a sorta tabelele în diferite moduri. Aceasta ar putea fi o interogare complicată și consumatoare de timp și, fără vizualizări concretizate, veți ajunge să utilizați o vizualizare concretizată pentru a aborda această dilemă. Acest articol vă învață cum să utilizați vizualizări materializate în PostgreSQL.

Sintaxă

>> CREAȚI VIZUALIZARE MATERIALIZATĂ view_name AS interogare CU [NU] DATE;

Explicația pentru această viziune generală este următoarea:

Cum se utilizează vizualizări materializate

Porniți shell-ul dvs. de linie de comandă PostgreSQL pentru a începe să lucrați la vizualizări materializate.

Furnizați numele serverului, baza de date la care doriți să lucrați, numărul portului și numele de utilizator pentru a începe să utilizați shell-ul de comandă. Lăsați aceste spații goale dacă doriți să utilizați sistemul implicit.

Exemplul 1: Vizualizare simplă

Pentru a înțelege vizualizarea materializată, trebuie mai întâi să înțelegeți vizualizări simple. Deci, creați noul tabel, „Student”, folosind comanda CREATE TABLE, așa cum se adaugă.

>> CREATE TABLE Student (sid serial CHEIE PRIMARĂ, nume VARCHAR (100) NOT NULL, vârstă VARCHAR (100) NOT NULL);

După aceea, introduceți date în el folosind interogarea INSERT.

Aduceți înregistrările tabelului „Student” folosind instrucțiunea SELECT pentru vizualizarea simplă.

>> SELECT * DE LA Student;

Exemplul 2: Vizualizare simplificată materializată

Acum, este timpul să acoperim viziunea materializată. Vom folosi tabelul „Student” pentru a crea o vizualizare concretizată. Vom crea o vizualizare materializată numită „std_view” folosind comanda „CREATE MATERIALIZED VIEW”. În această vizualizare, vom prelua câmpul de nume student „sname” din tabelul „Student”, grupat și sortat în ordine crescătoare în coloana „sname”.

>> CREAȚI VIZUALIZARE MATERIALIZATĂ std_view AS SELECT sname FROM Student GROUP BY sname ORDER BY sname;

Acum, folosind interogarea SELECT pentru a executa vizualizarea, vom returna numele studenților în coloana „sname” din tabelul „Student”.

>> SELECT * DIN std_view;

Exemplul 3: Vizualizare materializată utilizând clauza WHERE

Acum, vom crea o vizualizare materializată folosind clauza WHERE. Luați în considerare următorul tabel „Student” cu câteva modificări ale valorilor sale.

Apoi, vom crea o vizualizare concretizată denumită „teststd” utilizând interogarea „CREARE VIZUALIZARE MATERIALIZATĂ”. Vom selecta înregistrările din tabelul „Student” unde valoarea coloanei „vârstă” este mai mare decât „25” folosind clauza WHERE. Interogarea funcționează corect, așa cum se vede în imagine.

>> CREAȚI VIZUALIZARE MATERIALIZATĂ teststd AS SELECT sid, sname, age FROM Student WHERE age> '25';

În cele din urmă, vom executa vizualizarea materializată pe care tocmai am creat-o folosind comanda SELECT, ca mai jos. Veți vedea că va returna toate înregistrările din tabelul „Student” în care coloana „vârstă” are o valoare mai mare decât „25.'

>> SELECT * DIN teststd;

Exemplul 4: Reîmprospătați vizualizarea materializată utilizând clauza fără date

În acest exemplu, vom crea o vizualizare materializată, în care vom folosi clauza WITH NO DATA pentru a reîmprospăta vizualizarea. Să presupunem că următorul tabel „Student” cu unele modificări ale valorilor sale.

Vom crea acum vizualizarea „teststd” materializată. Această vizualizare va selecta înregistrările din tabelul „elev” în care vârsta elevilor este mai mică de „40”.„Înregistrările preluate vor fi grupate și sortate în ordine crescătoare în coloana„ sid ”. La sfârșitul interogării, vom folosi clauza WITH NO DATA pentru a indica faptul că interogarea nu va salva nicio informație într-o vizualizare concretizată. Vizualizarea de mai jos ar trebui să efectueze cu succes aceste acțiuni.

>> CREAȚI VIZUALIZARE MATERIALIZATĂ teststd AS SELECT sid, sname, age FROM Student WHERE age < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Când adăugați clauza „FĂRĂ DATE” la o vizualizare materializată, aceasta creează una goală. Această vizualizare materializată nu este interogabilă. După cum puteți vedea în imaginea următoare, acesta nu preia înregistrările în vizualizarea nou creată.

Instrucțiunea REFRESH MATERIALIZED VIEW este utilizată pentru a importa datele într-o vizualizare materializată. Completați vizualizarea materializată executând următoarea interogare REFRESH MATERIALIZED VIEW în shell. După cum puteți vedea, această interogare a funcționat eficient.

>> REFRESH MATERIALIZED VIEW teststd;

Din nou, preluați înregistrările vizualizării materializate „teststd” folosind instrucțiunea SELECT din shell. De data aceasta, interogarea SELECT funcționează corect, deoarece instrucțiunea „REFRESH” a încărcat conținut în vizualizarea materializată.

Exemplul 5: Drop Materialized View

Următoarea comandă va șterge o vizualizare concretizată.

>> DROP VIZUALIZARE MATERIALIZATĂ std_view;

Concluzie

Acest articol v-a arătat cum să utilizați vizualizări materializate prin clauza WHERE și interogările REFRESH din shell-ul liniei de comandă.

Cum să capturați și să transmiteți în flux sesiunea de jocuri pe Linux
În trecut, jocurile erau considerate doar un hobby, dar cu timpul industria jocurilor a cunoscut o creștere imensă în ceea ce privește tehnologia și n...
Cele mai bune jocuri pentru a juca cu urmărirea manuală
Oculus Quest a introdus recent marea idee de urmărire manuală fără controlere. Cu un număr din ce în ce mai mare de jocuri și activități care execută ...
Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...