Sarakkeiden pudottaminen

8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Muut | PL / SQL | SQL | RAC | WebLogic | Linux

Etusivu ”Artikkelit” 8i ”täällä

Oracle 8i esitteli mahdollisuuden pudottaa sarake taulukosta. Tätä ennen koko taulukko oli pudotettava. ja rakenna se uudelleen. Nyt voit merkitä sarakkeen käyttämättömäksi (looginen poisto) tai poistaa sen kokonaan (fyysinen poisto).

  • Looginen poisto
  • Fyysinen poisto
  • huomioita

looginen poisto

Suurissa taulukoissa sarakkeen fyysinen poistaminen voi olla hyvin aikaa ja resursseja vievä. Tästä syystä voit päättää poistaa loogisesti se.

alter table table_name set unused (column_name);alter table table_name set unused (column_name1, column_name2);

Kun tämä on tehty, sarakkeet eivät enää näy käyttäjälle. Jos sinulla on myöhemmin aikaa poistaa sarakkeita fyysisesti, se voi Tee seuraavalla tavalla.

alter table table_name drop unused columns;

Suurissa taulukoissa voit vähentää kertyneiden kumoamattomien lokien määrää käyttämällä CHECKPOINT-asetusta, joka pakottaa tarkistusvalinnan määrätyn rivit on käsitelty.

DBA_UNUSED_COL_TABS -näkymää voidaan käyttää käyttämättömien sarakkeiden määrän näyttämiseen taulukossa.

Fyysinen poisto

Sarakkeen pudottamiseksi fyysisesti voit käyttää yhtä seuraavista syntaksista sen mukaan, haluatko pudottaa yhden tai useita sarakkeita.

alter table table_name drop column column_name;alter table table_name drop (column_name1, column_name2);

pudottamalla Taulukon sarake pudottaa kaikki taulukon käyttämättömät sarakkeet samanaikaisesti.

Huomioita

Sarakkeen pudottaminen ei välttämättä lisää ylimääräistä käytettävissä olevaa vapaata tilaa lohkossa. Jos sarake on pieni, kustakin lohkosta saa vain pieniä palasia, joita ei ehkä voida käyttää uudelleen. Ainoa tapa vapauttaa se uudelleenkäyttöä varten on pöydän uudelleenrakentaminen / siirtäminen. On tehokkaampaa merkitä sarake käyttökelvottomaksi ja rakentaa sitten taulukko uudelleen. Oletusarvoisesti siirto ei ole online-toiminto.

alter table table_name set unused (column_name);alter table table_name move;

Myöhemmissä tietokantaversioissa siirto voidaan suorittaa verkossa.

alter table table_name set unused (column_name);alter table table_name move online;

Toivottavasti tämä auttaa. Terveisin Tim …

Takaisin alkuun.

Leave a Reply

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *