Kolumniperheet

sarakeperhe on taulukon sarakkeiden ryhmä, joka tallennetaan yhtenä avainarvoparina taustalla olevaan avainarvosäilöön. Sarakkeen perheet vähentävät avainarvosäilöön tallennettujen avainten määrää, mikä parantaa suorituskykyä INSERT, UPDATE ja DELETE operaatioissa.

tällä sivulla kerrotaan, miten CockroachDB järjestää sarakkeet perheisiin sekä tapauksiin, joissa haluat ehkä ohittaa oletuskäyttäytymisen manuaalisesti.

toissijaiset indeksit noudattavat taulukoihin sovellettavia sarakeperheen määritelmiä. Kun määrität toissijaisen indeksin, CockroachDB jakaa toissijaiset indeksin avainarvoparit sarakeperheiksi perheen ja tallennettujen sarakekokoonpanojen mukaan.

oletuskäyttäytyminen

kun taulukko luodaan, kaikki sarakkeet tallennetaan yhtenä sarakeperheenä.

tämä oletusmenetelmä takaa avainarvon tehokkaan tallennuksen ja suorituskyvyn useimmissa tapauksissa. Kun usein päivitetyt sarakkeet ryhmitellään harvoin päivitettyihin sarakkeisiin, harvoin päivitetyt sarakkeet kuitenkin kirjoitetaan uudelleen jokaisessa päivityksessä. Varsinkin kun harvoin päivitetyt palstat ovat suuria, on performanttisempaa jakaa ne erilliseen perheeseen.

manuaalinen ohitus

määritä taulukon luontiin sarakeperheet

jos haluat määrittää taulukon luontiin sarakeperheen manuaalisesti, käytä FAMILY avainsanaa.

esimerkiksi, sanotaan, että haluamme luoda taulukon, johon voidaan tallentaa muuttumaton tietomöykky (data BYTES), jossa on viimeksi käytetty aikaleima (last_accessed TIMESTAMP). Koska tiedämme, että tietojen möykky ei koskaan päivity, käytämme FAMILY avainsanaa murtaaksemme sen erilliseksi sarakeperheeksi:

kuvake / painikkeet / kopio
> CREATE TABLE test ( id INT PRIMARY KEY, last_accessed TIMESTAMP, data BYTES, FAMILY f1 (id, last_accessed), FAMILY f2 (data));
kuvake / painikkeet / kopioi
> SHOW CREATE test;

Määritä sarakeperheet lisättäessä sarakkeita

kun käytät ALTER TABLE .. ADD COLUMN lauseketta sarakkeen lisäämiseksi taulukkoon, voit liittää sarakkeen uuteen tai olemassa olevaan sarakeperheeseen.

  • käytä CREATE FAMILY – hakusanaa osoittaaksesi uuden sarakkeen uudelle perheelle. Esimerkiksi seuraava lisäisi data2 BYTES sarakkeen yllä olevaan test taulukkoon ja liittäisi sen uuteen sarakeperheeseen:
kuvake / painikkeet / kopioi
 > ALTER TABLE test ADD COLUMN data2 BYTES CREATE FAMILY f3;
  • hakusanalla FAMILY voit määrittää uuden sarakkeen olemassa olevalle perheelle. Esimerkiksi seuraava lisäisi name STRING sarakkeen yllä olevaan test taulukkoon ja liittäisi sen perheeseen f1:
kuvake / painikkeet / kopioi
 > ALTER TABLE test ADD COLUMN name STRING FAMILY f1;
  • hakusanalla CREATE IF NOT EXISTS FAMILY voit määrittää uuden sarakkeen olemassa olevalle perheelle tai, jos perhettä ei ole olemassa, uudelle perheelle. Esimerkiksi seuraava osoittaisi uuden sarakkeen olemassa olevalle f1 suvulle; jos kyseistä sukua ei olisi olemassa, se loisi uuden perheen ja antaisi sarakkeen sille:
kuvake / painikkeet / kopioi
 > ALTER TABLE test ADD COLUMN name STRING CREATE IF NOT EXISTS FAMILY f1;
  • jos taulukkoon lisätään sarake eikä perhettä ole määritelty, se lisätään ensimmäiseen sarakeperheeseen. Esimerkiksi seuraava lisäisi uuden sarakkeen f1 – sukuun, koska se on ensimmäinen sarakesuku:
kuvake / painikkeet / kopio
 > ALTER TABLE test ADD COLUMN last_name STRING;

Katso myös

  • CREATE TABLE
  • ADD COLUMN
  • muut SQL-lauseet

oliko tästä sivusta apua?

Kyllä Ei

Vastaa

Sähköpostiosoitettasi ei julkaista.