ПостгреСКЛ

Како се користе материјализовани погледи ПостгреСКЛ

Како се користе материјализовани погледи ПостгреСКЛ

Погледи у ПостгреСКЛ-у су графичке табеле које приказују податке из одговарајућих табела. Уобичајени погледи се такође могу мењати. ПостгреСКЛ иде концепт погледа у следећу фазу омогућавајући погледима да материјално чувају информације, које се називају материјализовани прикази. Материјализовани приказ чува излаз дуготрајног, сложеног упита, омогућавајући вам да у сваком тренутку брзо затражите резултате. Материјализоване тачке гледишта често се користе у складиштима података и апликацијама пословне интелигенције јер су корисне у ситуацијама које захтевају брз приступ подацима.

Зашто користити материјализоване погледе?

Ако је наредба погледа превише спора за вас, можда ћете радије користити материјализовани приказ. Материјализовани прикази имају много свестраности омогућавајући вам да материјално задржите представу у бази података са краћим временима приступа. Претпоставимо да је потребно да направите упит базе података да бисте придружили неколико табела, уклонили редове из унитед колекције и сортирали табеле на разне начине. Ово би могло бити сложено и дуготрајно питање, а без материјализованих приказа на крају ћете искористити материјализовани приказ за решавање ове дилеме. Овај чланак вас учи како да користите материјализоване погледе у ПостгреСКЛ-у.

Синтакса

>> СТВАРИ МАТЕРИЈАЛИЗОВАНИ ПОГЛЕД поглед_име КАО упит СА [НЕ] ПОДАЦИМА;

Објашњење овог општег става је следеће:

Како се користе материјализовани погледи

Покрените своју љуску наредбеног ретка ПостгреСКЛ да бисте започели рад на материјализованим приказима.

Наведите име сервера, базу података на којој желите да радите, број порта и корисничко име да бисте започели коришћење командне љуске. Оставите ове празнине ако желите да користите подразумевани систем.

Пример 1: Једноставан приказ

Да бисте разумели материјализовани поглед, прво треба да разумете једноставне погледе. Дакле, креирајте нову табелу, 'Студент', користећи наредбу ЦРЕАТЕ ТАБЛЕ, како је додата.

>> СТВОРИ ТАБЕЛУ Студент (сид серијски ПРИМАРНИ КЉУЧ, снаме ВАРЦХАР (100) НОТ НУЛЛ, аге ВАРЦХАР (100) НОТ НУЛЛ);

После тога у њега убаците податке помоћу ИНСЕРТ упита.

Дохватите записе табеле „Студент“ помоћу израза СЕЛЕЦТ за једноставан приказ.

>> ОДАБЕРИ * ИЗ студента;

Пример 2: Једноставни материјализовани поглед

Сада је време да покријемо материјализовани поглед. Користићемо табелу „Студент“ да бисмо створили материјализовани приказ. Створићемо материјализовани приказ под називом 'стд_виев' помоћу наредбе 'ЦРЕАТЕ МАТЕРИАЛИЗЕД ВИЕВ'. У овом приказу преузећемо поље имена ученика „снаме“ из табеле „Студент“, груписано и сортирано узлазно у колони „снаме“.

>> СТВОРИ МАТЕРИЈАЛИЗОВАНИ ПРИКАЗ стд_виев КАО ОДАБЕРИ снаме ИЗ ГРУПЕ УЧЕНИКА ПО Снаме ОРДЕР БИ снаме;

Сада ћемо помоћу упита СЕЛЕЦТ да извршимо приказ вратити имена ученика у колону 'снаме' табеле 'Студент'.

>> ОДАБЕРИТЕ * ИЗ стд_виев;

Пример 3: Материјализовани приказ помоћу клаузуле ВХЕРЕ

Сада ћемо створити материјализовани приказ користећи клаузулу ВХЕРЕ. Размотрите следећу табелу „Студент“ са неким променама у њеним вредностима.

Затим ћемо створити материјализовани приказ под називом „тестстд“ помоћу упита „СТВАРИ МАТЕРИЈАЛИЗОВАНИ ПРИКАЗ“. Записе табеле „Студент“ где је вредност колоне „аге“ већа од „25“ изабраћемо помоћу клаузуле ВХЕРЕ. Упит функционише исправно, као што се види на слици.

>> СТВАРИ МАТЕРИЈАЛИЗОВАНИ ПРИКАЗ тестстд КАО ОДАБЕРИ сид, снаме, аге ОД ученика ВХЕРЕ доб> '25';

На крају ћемо извршити материјализовани приказ који смо управо креирали помоћу наредбе СЕЛЕЦТ, као у наставку. Видећете да ће вратити све записе из табеле 'Студент' у којој је колона 'аге' већа од '25.'

>> ОДАБЕРИТЕ * ИЗ тестстд;

Пример 4: Освежите материјализовани приказ користећи клаузулу БЕЗ ПОДАТАКА

У овом примеру ћемо створити материјализовани приказ у којем ћемо користити клаузулу БЕЗ ДАТА да освежимо приказ. Претпоставимо да је следећа табела „Студент“ са неким променама у вредностима.

Сада ћемо створити материјализовани приказ 'тестстд'. Овај приказ ће одабрати записе из „студентске“ табеле у којима је старост ученика мања од 40 година.'Преузети записи ће се групирати и сортирати према растућем редоследу у колони' сид '. На крају упита користићемо клаузулу БЕЗ ДАТА да назначимо да упит неће сачувати никакве информације у материјализованом приказу. Поглед приказан у наставку треба успешно да изврши ове радње.

>> СТВОРИ МАТЕРИЈАЛИЗОВАНИ ПРИКАЗ тестстд КАО ОДАБЕРИ сид, снаме, аге ОД ученика ВХЕРЕ аге < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Када у материјализовани приказ додате клаузулу „БЕЗ ПОДАТАКА“, ово ствара празан. Овај материјализовани поглед се не може извршити. Као што видите на следећој слици, она не преузима записе у новоствореном приказу.

Израз РЕФРЕСХ МАТЕРИАЛИЗЕД ВИЕВ користи се за увоз података у материјализовани приказ. Попуните материјализовани приказ покретањем следећег упита ОСВЈЕЖИ МАТЕРИЈАЛИЗОВАНИ ПРИКАЗ у љусци. Као што видите, овај упит је ефикасно функционисао.

>> ОСВЈЕЖИ МАТЕРИЈАЛИЗОВАНИ ПРИКАЗ тестстд;

Опет, дохватите записе материјализованог погледа 'тестстд' користећи СЕЛЕЦТ наредбу у љусци. Овај пут, СЕЛЕЦТ упит ради исправно, јер је израз 'РЕФРЕСХ' учитао садржај у материјализовани приказ.

Пример 5: Отпад материјализованог погледа

Следећа наредба ће обрисати материјализовани приказ.

>> ПУСТИ МАТЕРИЈАЛИЗОВАНИ ПРИКАЗ стд_виев;

Закључак

Овај чланак вам је показао како се користе материјализовани погледи путем клаузуле ВХЕРЕ и РЕФРЕСХ упита у љусци командне линије.

Најбољи Линук Дистрос за игре у 2021
Линук оперативни систем далеко је превалио свој изворни, једноставни изглед заснован на серверима. Овај ОС се изузетно побољшао последњих година и сад...
Како снимити и стримовати своју играћу сесију на Линук-у
У прошлости се играње игара сматрало само хобијем, али с временом је играчка индустрија забележила огроман раст у погледу технологије и броја играча. ...
Најбоље игре за ручно праћење
Оцулус Куест је недавно представио сјајну идеју ручног праћења без контролера. Са све већим бројем игара и активности које извршавају подршку формално...