Se nenhuma coluna de distribuição for especificada, como os dados serão armazenados?
![](https://support.huaweicloud.com/intl/pt-br/dws_faq/public_sys-resources/note_3.0-pt-br.png)
Para clusters 8.1.2 ou posterior, você pode usar o parâmetro GUC default_distribution_mode para consultar e definir o modo de distribuição de tabela padrão.
Se nenhuma coluna de distribuição for especificada durante a criação da tabela, os dados serão armazenados da seguinte forma:
- Cenário 1
Se a chave primária ou restrição exclusiva for incluída durante a criação da tabela, a distribuição de hash será selecionada. A coluna de distribuição é a coluna correspondente à chave primária ou restrição exclusiva.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
CREATE TABLE warehouse1 ( W_WAREHOUSE_SK INTEGER PRIMARY KEY, W_WAREHOUSE_ID CHAR(16) NOT NULL, W_WAREHOUSE_NAME VARCHAR(20) ); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "warehouse1_pkey" for table "warehouse1" CREATE TABLE SELECT getdistributekey('warehouse1'); getdistributekey ------------------ w_warehouse_sk (1 row)
- Cenário 2
Se a chave primária ou restrição exclusiva não for incluída durante a criação da tabela, mas houver colunas cujos tipos de dados podem ser usados como colunas de distribuição, a distribuição de hash será selecionada. A coluna de distribuição é a primeira coluna cujo tipo de dados pode ser usado como uma coluna de distribuição.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CREATE TABLE warehouse2 ( W_WAREHOUSE_SK INTEGER , W_WAREHOUSE_ID CHAR(16) NOT NULL, W_WAREHOUSE_NAME VARCHAR(20) ); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'w_warehouse_sk' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE SELECT getdistributekey('warehouse2'); getdistributekey ------------------ w_warehouse_sk (1 row)
- Cenário 3
Se a chave primária ou restrição exclusiva não for incluída durante a criação da tabela e não existir nenhuma coluna cujo tipo de dados possa ser usado como uma coluna de distribuição, a distribuição round-robin será selecionada.
CREATE TABLE warehouse3 ( W_WAREHOUSE_ID CHAR(16) NOT NULL, W_WAREHOUSE_NAME VARCHAR(20) ); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'w_warehouse_id' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE SELECT getdistributekey('warehouse3'); getdistributekey ------------------ w_warehouse_id (1 row)
Uso do banco de dados Perguntas frequentes
- Como alterar as colunas de distribuição?
- Como exibir e definir a codificação de caracteres do banco de dados?
- O que devo fazer se o tipo de data for convertido automaticamente para o tipo de carimbo de data/hora durante a criação da tabela?
- Preciso executar VACUUM FULL e ANALYZE em tabelas comuns periodicamente?
- É necessário definir uma chave de distribuição após definir uma chave primária?
- O GaussDB(DWS) é compatível com os procedimentos armazenados do PostgreSQL?
- Quais são tabelas particionadas, partições e chaves de partição?
- Como exportar a estrutura da tabela?
- Como excluir dados da tabela de forma eficiente?
- Como exibir informações de tabela estrangeira?
- Se nenhuma coluna de distribuição for especificada, como os dados serão armazenados?
- Como substituir o resultado nulo por 0?
- Como verificar se uma tabela é armazenada em linha ou em coluna?
- Como consultar as informações sobre tabelas de armazenamento de colunas do GaussDB(DWS)?
- Por que às vezes os índices de consulta do GaussDB(DWS) se tornam inválidos?
- Como usar uma função definida pelo usuário para reescrever a função CRC32()?
- Quais são os esquemas começando com pg_toast_temp* ou pg_temp*?
- Soluções para resultados de consultas inconsistentes do GaussDB(DWS)
- Em quais catálogos do sistema a operação VACUUM FULL não pode ser executada?
- Em quais cenários uma instrução fica "idle in transaction"?
- Como o GaussDB(DWS) implementa a conversão de linha para coluna e de coluna para linha?
- Quais são as diferenças entre restrições únicas e índices únicos?
- What Are the Differences Between Functions and Stored Procedures?
Feedback
Esta página foi útil?
Deixar um comentáriomore