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:
> CREATE TABLE test ( id INT PRIMARY KEY, last_accessed TIMESTAMP, data BYTES, FAMILY f1 (id, last_accessed), FAMILY f2 (data));
> 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řidatdata2 BYTES
sloupectest
výše uvedené tabulky a přiřadit nový sloupec rodinu:
> 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řidatname STRING
sloupectest
výše uvedené tabulky a přiřadit ji k rodiněf1
:
> 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:
> 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ů:
> 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