kolom Families

een kolomfamilie is een groep kolommen in een tabel die als één sleutel-waardepaar in het onderliggende sleutel-waardearchief worden opgeslagen. Kolomfamilies verminderen het aantal sleutels dat is opgeslagen in het sleutelwaardearchief, wat resulteert in verbeterde prestaties tijdens operaties INSERT, UPDATE en DELETE.

deze pagina legt uit hoe CockroachDB kolommen organiseert in families en gevallen waarin u het standaardgedrag handmatig wilt overschrijven.

secundaire indexen voldoen aan de kolomfamiliedefinities die op tabellen worden toegepast. Wanneer u een secundaire index te definiëren, CockroachDB breekt de secundaire index sleutel-waarde paren in kolom families, volgens de familie en opgeslagen kolom configuraties.

standaard gedrag

wanneer een tabel wordt gemaakt, worden alle kolommen opgeslagen als een enkele kolomfamilie.

deze standaardbenadering zorgt in de meeste gevallen voor efficiënte opslag en prestaties van sleutelwaarden. Echter, wanneer vaak bijgewerkte kolommen worden gegroepeerd met zelden bijgewerkte kolommen, worden de zelden bijgewerkte kolommen niettemin herschreven op elke update. Vooral wanneer de zelden bijgewerkte kolommen groot zijn, is het beter om ze op te splitsen in een aparte familie.

handmatig overschrijven

kolomfamilies toewijzen bij het aanmaken van een tabel

gebruik het FAMILY sleutelwoord om handmatig een kolomfamilie toe te wijzen bij het aanmaken van een tabel.

bijvoorbeeld, laten we zeggen dat we een tabel willen maken om een onveranderlijke blob van gegevens op te slaan (data BYTES) met een laatst gebruikte tijdstempel (last_accessed TIMESTAMP). Omdat we weten dat de blob-gegevens zullen nooit worden bijgewerkt, gebruiken we de FAMILY zoekwoord in te breken in een aparte kolom familie:

pictogram/knoppen/kopiëren
> CREATE TABLE test ( id INT PRIMARY KEY, last_accessed TIMESTAMP, data BYTES, FAMILY f1 (id, last_accessed), FAMILY f2 (data));
pictogram/knoppen/kopiëren
> SHOW CREATE test;

Toewijzen kolom gezinnen bij het toevoegen van kolommen

Bij het gebruik van de ALTER TABLE .. ADD COLUMN verklaring van een kolom toevoegen aan een tabel, kunt u de kolom om een bestaande of een nieuwe kolom familie.

  • gebruik het CREATE FAMILY sleutelwoord om een nieuwe kolom toe te wijzen aan een nieuwe familie. Het volgende zou bijvoorbeeld een kolom data2 BYTES toevoegen aan de bovenstaande tabel test en deze toewijzen aan een nieuwe kolomfamilie:
pictogram / knoppen / kopiëren
 > ALTER TABLE test ADD COLUMN data2 BYTES CREATE FAMILY f3;
  • gebruik het FAMILY sleutelwoord om een nieuwe kolom toe te wijzen aan een bestaande familie. Het volgende zou bijvoorbeeld een kolom name STRING toevoegen aan de bovenstaande tabel test en deze toewijzen aan een familie f1:
pictogram / knoppen / kopiëren
 > ALTER TABLE test ADD COLUMN name STRING FAMILY f1;
  • gebruik het CREATE IF NOT EXISTS FAMILY sleutelwoord om een nieuwe kolom toe te wijzen aan een bestaande familie of, als de familie niet bestaat, aan een nieuwe familie. Bijvoorbeeld, het volgende zou de nieuwe kolom toewijzen aan de bestaande f1 familie; als die familie niet bestond, zou het een nieuwe familie maken en de kolom eraan toewijzen:
pictogram / knoppen / kopiëren
 > ALTER TABLE test ADD COLUMN name STRING CREATE IF NOT EXISTS FAMILY f1;
  • als een kolom aan een tabel wordt toegevoegd en de familie niet is opgegeven, wordt deze toegevoegd aan de eerste kolomfamilie. Het volgende zou bijvoorbeeld de nieuwe kolom toevoegen aan de f1 – familie, aangezien dat de eerste kolomfamilie is:
pictogram / knoppen / kopiëren
 > ALTER TABLE test ADD COLUMN last_name STRING;

zie ook

  • CREATE TABLE
  • ADD COLUMN
  • andere SQL Statements

Was deze pagina nuttig?

Ja Nee

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.