Sloupec Rodin

sloupec rodina je skupina sloupců tabulky, které jsou uloženy jako jeden pár klíč-hodnota v hlubších klíč-hodnota, obchod. Rodiny sloupců snižují počet klíčů uložených v úložišti klíčových hodnot, což vede ke zlepšení výkonu během operací INSERT, UPDATE a DELETE.

tato stránka vysvětluje, jak CockroachDB organizuje sloupce do rodin, stejně jako případy, ve kterých byste mohli chtít ručně přepsat výchozí chování.

sekundární indexy respektují definice rodiny sloupců aplikované na tabulky. Když definujete sekundární index, CockroachDB rozdělí páry sekundárního indexu klíč-hodnota do rodin sloupců, podle rodiny a uložených konfigurací sloupců.

výchozí chování

po vytvoření tabulky jsou všechny sloupce uloženy jako jedna rodina sloupců.

tento výchozí přístup zajišťuje ve většině případů efektivní ukládání a výkon klíčových hodnot. Pokud jsou však často aktualizované sloupce seskupeny se zřídka aktualizovanými sloupci, zřídka aktualizované sloupce jsou nicméně při každé aktualizaci přepsány. Zvláště když jsou zřídka aktualizované sloupce Velké, je výkonnější je rozdělit do odlišné rodiny.

Manuální ovládání

Přiřadit sloupec rodin na vytvoření tabulky

ručně přiřadit sloupec rodinou na vytvoření tabulky, použijte FAMILY klíčové slovo.

například, řekněme, že chceme vytvořit tabulku pro ukládání neměnný blob dat (data BYTES) s posledního přístupu časové razítko (last_accessed TIMESTAMP). Protože víme, že blob dat nebude nikdy aktualizován, budeme používat FAMILY klíčové slovo break je do samostatného sloupce rodina:

ikony/tlačítka/kopírování
> CREATE TABLE test ( id INT PRIMARY KEY, last_accessed TIMESTAMP, data BYTES, FAMILY f1 (id, last_accessed), FAMILY f2 (data));
ikona/tlačítka/kopírování
> SHOW CREATE test;

Přiřadit sloupce rodiny při přidání sloupce

Při použití ALTER TABLE .. ADD COLUMN prohlášení přidat sloupec do tabulky, můžete přiřadit sloupce do nové nebo existující sloupec rodinu.

  • pomocí klíčového slova CREATE FAMILY přiřadíte nový sloupec nové rodině. Například, následující by přidat data2 BYTES sloupec test výše uvedené tabulky a přiřadit nový sloupec rodinu:
ikona/tlačítka/kopírování
 > ALTER TABLE test ADD COLUMN data2 BYTES CREATE FAMILY f3;
  • Použijte FAMILY slovo, které chcete přiřadit nový sloupec do existující rodiny. Například, následující by přidat name STRING sloupec test výše uvedené tabulky a přiřadit ji k rodině f1:
ikona/tlačítka/kopírování
 > ALTER TABLE test ADD COLUMN name STRING FAMILY f1;
  • Použijte CREATE IF NOT EXISTS FAMILY slovo, které chcete přiřadit nový sloupec do existující rodiny, nebo, pokud rodina neexistuje, do nové rodiny. Například, následující by přiřadit nový sloupec do existující f1 rodina; v případě, že rodina neexistovala, to bych vytvořit novou rodinu, a přiřadit sloupec, aby to:
ikona/tlačítka/kopírování
 > ALTER TABLE test ADD COLUMN name STRING CREATE IF NOT EXISTS FAMILY f1;
  • Pokud je přidán sloupec do tabulky a rodina není uvedeno, bude přidána do prvního sloupce rodiny. Například následující sloupec přidá nový sloupec do rodiny f1, protože se jedná o první rodinu sloupců:
ikony/tlačítka/kopírování
 > ALTER TABLE test ADD COLUMN last_name STRING;

Viz také

  • CREATE TABLE
  • ADD COLUMN
  • Další příkazy SQL

Byla tato stránka užitečná?

Ano Ne

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.