Luo Temp-taulukko PostgreSQL: ssä

Johdanto

kun työskentelet suurten taulukoiden kanssa PostgreSQL: ssä, saatat huomata, että sinun täytyy olla vuorovaikutuksessa tietyn taulukon rivijoukon kanssa yhä uudelleen. Sen sijaan toistuvasti suodatus taulukon saada että osajoukko tietoja, se on tehokkaampaa hakea nämä rivit kerran ja tallentaa ne väliaikaiseen taulukkoon. Tämä opetusohjelma opettaa sinulle, miten luoda temp taulukko ja myöhemmin poistaa sen, kun olet valmis.

Edeltävät opinnot

jos haluat seurata PostgreSQL-esimerkkejä Tässä opetusohjelmassa, varmista, että koneessasi on PostgreSQL-palvelin asennettuna ja konfiguroituna. Palvelun on pyörittävä taustalla.

Linux-ja Windows-käyttäjät voivat ladata PostgreSQL: n täältä.

mikä on PostgreSQL-Väliaikainen taulukko?

Tilapäistaulut ovat olemassa omalla ainutlaatuisella skeemallaan, joten skeemanimeä ei voi antaa, kun tällaisen taulukon luo. Väliaikainen taulukko on olemassa vain niin kauan kuin sen tietokantaistunto– tämä tarkoittaa, että PostgreSQL pudottaa väliaikaisen taulukon automaattisesti lopussa tai tapahtuman tai istunnon.

Otekäyttötapaus PostgreSQL-Väliaikaistaulukolle

Väliaikaistaulukot ovat hyödyllisiä sovelluskehittäjille ja tietokannan ylläpitäjille, jotka ovat säännöllisesti vuorovaikutuksessa suurten tietokantojen kanssa. Ne ovat erityisen arvokkaita tilanteissa, jotka vaativat toistuvaa kyselyä tai käsittelyä pienen datajoukon sisällä suurempi taulukko.

tässä tapauksessa voimme tallentaa suodatetut tiedot väliaikaiseen taulukkoon; voimme sitten käyttää tätä väliaikaista taulukkoa yhä uudelleen menemättä varsinaiseen tietokantaan. Nämä taulukot sijaitsevat sisällä tempdb, joka on myös tietokantajärjestelmä.

on olemassa kaksi tapaa luoda väliaikainen taulukko. Ensinnäkin TEMPORARY lauseketta voidaan käyttää CREATE TABLE lausekkeessa:

1
2
3
luo tilapäinen taulukko your_temp_table_name(
);

Vaihtoehtoisesti voidaan käyttää TEMP lauseketta:

1
2
3
luo TEMP-taulu your_temp_table_name (

);

väliaikaiset taulukot ovat näkyvissä vain siinä istunnossa, jossa se luotiin; muut istunnot eivät voi katsoa sitä.

väliaikaisen taulukon esimerkin luominen

tilapäisen taulukon luominen edellyttää ensin yhteyden muodostamista PostgreSQL-palvelimeemme psql – komennolla. Sitten luodaan tietokanta, jonka nimi on dbsandbox.

voimme toteuttaa tämän käyttämällä seuraavaa lausetta:

1
2
3
4
postgres=# CREATE DATABASE sandboxdb;
CREATE DATABASE
postgres = # \C sandboxdb;
olet nyt yhteydessä tietokantaan ”sandboxdb” käyttäjänä ”teamsolo”.

kun tietokanta on luotu, on aika luoda väliaikainen taulukko käyttäen seuraavaa lausumaa:

1
2
sandboxdb=# luo TEMP TABLE temptbl(A INT);
Luo taulukko

tällä lauseella loimme TEMP – taulukkomme nimeltä temptbl sandboxdb – tietokannan sisälle.

varmistaaksemme, että taulukko luotiin onnistuneesti, voimme käyttää SELECT lausetta:

1
valitse * TEMPTBL: stä;

meidän SELECT tuloksen pitäisi näyttää seuraavanlaiselta:

1
2
3
c

(0 rivit)

aiemmin tässä osiossa, mainitsimme, että väliaikainen taulukko on näkyvissä vain nykyisen istunnon, jossa se luotiin. Testataan ja katsotaan, onko se totta luomalla toinen istunto PostgreSQL. Tässä uudessa sessiossa yritetään saada yhteys temptable. Voit tehdä tämän lopettamalla nykyisen yhteyden komennolla \q ja yrittämällä muodostaa uudelleen yhteyden edellisten vaiheiden avulla. Esimerkki tästä prosessista on alla:

1
2
3
4
5
postgres = # \C sandboxdb;
olet nyt yhteydessä tietokantaan ”sandboxdb” käyttäjänä ”teamsolo”.
sandboxdb = # SELECT * from temptbl;
ERROR: suhdetta ”temptbl” ei ole olemassa
rivi 1: Valitse * from temptbl;

huomaa, että saimme virheen, kun yritimme suorittaa SELECT operaatiota väliaikaista taulukkoa temptblvastaan. Tämä johtuu siitä, että temptbl pudotettiin PostgreSQL: n toimesta heti, kun suoritimme komennon \q ja lopetimme kyseisen istunnon.

poistamalla Tilapäispöytäesimerkin

edellisessä osiossa opimme luomaan väliaikaisen pöydän. Nyt puhutaan siitä, miten poistaa tai pudottaa väliaikainen pöytä.

alla on väliaikaisen taulukon pudottamiseen käytetty syntaksi:

1
DROP TABLE your_temp_table_name;

huomaa, että DROP TABLE lauseessa ei ole sellaisia lausekkeita kuin TEMPORARY ja TEMP, toisin kuin CREATE TABLE lausekkeessa.

sanotaan, että halusimme pudottaa temptbl sen session aikana-voimme tehdä sen käyttämällä seuraavaa lausetta:

1
sandboxdb=# DROP TABLE temptbl;

johtopäätös

ei ole epäilystäkään siitä, että väliaikaiset taulukot voivat auttaa optimoimaan tietokannan vuorovaikutuksia, jolloin voit tallentaa pienemmän rivijoukon suuremmasta taulukosta sen sijaan, että suodattaisit samat tiedot uudelleen ja uudelleen. Tässä opetusohjelmassa selitimme, miten luodaan temp-taulukko ja miten pudotetaan sellainen käyttäen CREATE TEMP TABLE ja DROP TABLE – lausekkeita. Käyttämällä esimerkkejä annoimme oppaana, voit luoda ja hallita väliaikaisia taulukoita oman tietokannan vuorovaikutusta.

Vastaa

Sähköpostiosoitettasi ei julkaista.