Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-05-09 GMT+08:00

Etapa 3: otimizar uma tabela

Selecionar um tipo de armazenamento

As tabelas de exemplo usadas nessa prática são típicas tabelas TPC-DS de várias colunas, nas quais muitas consultas de análise estatística são realizadas. Portanto, o modo de armazenamento de coluna é recomendado.

1
WITH (ORIENTATION = column)

Selecionar um nível de compressão

Nenhuma taxa de compressão é especificada em Passo 1: criar uma tabela inicial e carregar dados de amostra, e a baixa taxa de compressão é selecionada por GaussDB(DWS) por padrão. Especifique COMPRESSION para MIDDLE e compare o resultado com aquele quando COMPRESSION é definido como LOW.

Segue-se um exemplo de selecção de um modo de armazenamento e a taxa de compressão MIDDLE para uma tabela.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE TABLE store_sales
(
    ss_sold_date_sk           integer                       ,
    ss_sold_time_sk           integer                       ,
    ss_item_sk                integer               not null,
    ss_customer_sk            integer                       ,
    ss_cdemo_sk               integer                       ,
    ss_hdemo_sk               integer                       ,
    ss_addr_sk                integer                       ,
    ss_store_sk               integer                       ,
    ss_promo_sk               integer                       ,
    ss_ticket_number          bigint               not null,
    ss_quantity               integer                       ,
    ss_wholesale_cost         decimal(7,2)                  ,
    ss_list_price             decimal(7,2)                  ,
    ss_sales_price            decimal(7,2)                  ,
    ss_ext_discount_amt       decimal(7,2)                  ,
    ss_ext_sales_price        decimal(7,2)                  ,
    ss_ext_wholesale_cost     decimal(7,2)                  ,
    ss_ext_list_price         decimal(7,2)                  ,
    ss_ext_tax                decimal(7,2)                  ,
    ss_coupon_amt             decimal(7,2)                  ,
    ss_net_paid               decimal(7,2)                  ,
    ss_net_paid_inc_tax       decimal(7,2)                  ,
    ss_net_profit             decimal(7,2)                  
) 
WITH (ORIENTATION = column,COMPRESSION=middle);

Selecionar um modo de distribuição

Com base nos tamanhos de tabela fornecidos em Passo 2: testar o desempenho do sistema da tabela inicial e estabelecer uma linha de base, defina o modo de distribuição da seguinte forma.

Nome da tabela

Número de linhas

Modo de distribuição

Store_Sales

287997024

Hash

Date_Dim

73049

Replicação

Store

402

Replicação

item

204000

Replicação

Time_Dim

86400

Replicação

Promotion

1000

Replicação

Customer_Demographics

1920800

Hash

Customer_Address

1000000

Hash

Household_Demographics

7200

Replicação

Customer

1981703

Hash

Income_Band

20

Replicação

Selecionar uma chave de distribuição

Se sua tabela for distribuída usando hash, escolha uma chave de distribuição adequada. É aconselhável selecionar uma chave de distribuição de acordo com Selecionar uma chave de distribuição.

Selecione a chave primária de cada tabela como a chave de distribuição da tabela de hash.

Nome da tabela

Número de registros

Modo de distribuição

Chave de distribuição

Store_Sales

287997024

Hash

ss_item_sk

Date_Dim

73049

Replicação

-

Store

402

Replicação

-

Item

204000

Replicação

-

Time_Dim

86400

Replicação

-

Promotion

1000

Replicação

-

Customer_Demographics

1920800

Hash

cd_demo_sk

Customer_Address

1000000

Hash

ca_address_sk

Household_Demographics

7200

Replicação

-

Customer

1981703

Hash

c_customer_sk

Income_Band

20

Replicação

-