数据仓库服务 GaussDB(DWS)-附录:表创建语法:设计调优后第二次创建表

时间:2025-02-12 15:02:13

设计调优后第二次创建表

本节所附为调优表实践中进行了存储方式、压缩级别、分布方式和分布列选择后,二次建表语法。

  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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
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)DISTRIBUTE BY hash (ss_item_sk);CREATE TABLE date_dim(    d_date_sk                 integer               not null,    d_date_id                 char(16)              not null,    d_date                    date                          ,    d_month_seq               integer                       ,    d_week_seq                integer                       ,    d_quarter_seq             integer                       ,    d_year                    integer                       ,    d_dow                     integer                       ,    d_moy                     integer                       ,    d_dom                     integer                       ,    d_qoy                     integer                       ,    d_fy_year                 integer                       ,    d_fy_quarter_seq          integer                       ,    d_fy_week_seq             integer                       ,    d_day_name                char(9)                       ,    d_quarter_name            char(6)                       ,    d_holiday                 char(1)                       ,    d_weekend                 char(1)                       ,    d_following_holiday       char(1)                       ,    d_first_dom               integer                       ,    d_last_dom                integer                       ,    d_same_day_ly             integer                       ,    d_same_day_lq             integer                       ,    d_current_day             char(1)                       ,    d_current_week            char(1)                       ,    d_current_month           char(1)                       ,    d_current_quarter         char(1)                       ,    d_current_year            char(1)                       ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY replication;CREATE TABLE store(    s_store_sk                integer               not null,    s_store_id                char(16)              not null,    s_rec_start_date          date                          ,    s_rec_end_date            date                          ,    s_closed_date_sk          integer                       ,    s_store_name              varchar(50)                   ,    s_number_employees        integer                       ,    s_floor_space             integer                       ,    s_hours                   char(20)                      ,    s_manager                 varchar(40)                   ,    s_market_id               integer                       ,    s_geography_class         varchar(100)                  ,    s_market_desc             varchar(100)                  ,    s_market_manager          varchar(40)                   ,    s_division_id             integer                       ,    s_division_name           varchar(50)                   ,    s_company_id              integer                       ,    s_company_name            varchar(50)                   ,    s_street_number           varchar(10)                   ,    s_street_name             varchar(60)                   ,    s_street_type             char(15)                      ,    s_suite_number            char(10)                      ,    s_city                    varchar(60)                   ,    s_county                  varchar(30)                   ,    s_state                   char(2)                       ,    s_zip                     char(10)                      ,    s_country                 varchar(20)                   ,    s_gmt_offset              decimal(5,2)                  ,    s_tax_precentage          decimal(5,2)                  ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY replication;CREATE TABLE item(    i_item_sk                 integer               not null,    i_item_id                 char(16)              not null,    i_rec_start_date          date                          ,    i_rec_end_date            date                          ,    i_item_desc               varchar(200)                  ,    i_current_price           decimal(7,2)                  ,    i_wholesale_cost          decimal(7,2)                  ,    i_brand_id                integer                       ,    i_brand                   char(50)                      ,    i_class_id                integer                       ,    i_class                   char(50)                      ,    i_category_id             integer                       ,    i_category                char(50)                      ,    i_manufact_id             integer                       ,    i_manufact                char(50)                      ,    i_size                    char(20)                      ,    i_formulation             char(20)                      ,    i_color                   char(20)                      ,    i_units                   char(10)                      ,    i_container               char(10)                      ,    i_manager_id              integer                       ,    i_product_name            char(50)                      ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY replication;CREATE TABLE time_dim(    t_time_sk                 integer               not null,    t_time_id                 char(16)              not null,    t_time                    integer                       ,    t_hour                    integer                       ,    t_minute                  integer                       ,    t_second                  integer                       ,    t_am_pm                   char(2)                       ,    t_shift                   char(20)                      ,    t_sub_shift               char(20)                      ,    t_meal_time               char(20)                     ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY replication;CREATE TABLE promotion(    p_promo_sk                integer               not null,    p_promo_id                char(16)              not null,    p_start_date_sk           integer                       ,    p_end_date_sk             integer                       ,    p_item_sk                 integer                       ,    p_cost                    decimal(15,2)                 ,    p_response_target         integer                       ,    p_promo_name              char(50)                      ,    p_channel_dmail           char(1)                       ,    p_channel_email           char(1)                       ,    p_channel_catalog         char(1)                       ,    p_channel_tv              char(1)                       ,    p_channel_radio           char(1)                       ,    p_channel_press           char(1)                       ,    p_channel_event           char(1)                       ,    p_channel_demo            char(1)                       ,    p_channel_details         varchar(100)                  ,    p_purpose                 char(15)                      ,    p_discount_active         char(1)                       ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY replication;CREATE TABLE customer_demographics(    cd_demo_sk                integer               not null,    cd_gender                 char(1)                       ,    cd_marital_status         char(1)                       ,    cd_education_status       char(20)                      ,    cd_purchase_estimate      integer                       ,    cd_credit_rating          char(10)                      ,    cd_dep_count              integer                       ,    cd_dep_employed_count     integer                       ,    cd_dep_college_count      integer                       ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY hash (cd_demo_sk);CREATE TABLE customer_address(    ca_address_sk             integer               not null,    ca_address_id             char(16)              not null,    ca_street_number          char(10)                      ,    ca_street_name            varchar(60)                   ,    ca_street_type            char(15)                      ,    ca_suite_number           char(10)                      ,    ca_city                   varchar(60)                   ,    ca_county                 varchar(30)                   ,    ca_state                  char(2)                       ,    ca_zip                    char(10)                      ,    ca_country                varchar(20)                   ,    ca_gmt_offset             decimal(5,2)                  ,    ca_location_type          char(20)                     ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY hash (ca_address_sk);CREATE TABLE household_demographics(    hd_demo_sk                integer               not null,    hd_income_band_sk         integer                       ,    hd_buy_potential          char(15)                      ,    hd_dep_count              integer                       ,    hd_vehicle_count          integer                       )  WITH (ORIENTATION = column,COMPRESSION=middle) DISTRIBUTE BY replication; CREATE TABLE customer(    c_customer_sk             integer               not null,    c_customer_id             char(16)              not null,    c_current_cdemo_sk        integer                       ,    c_current_hdemo_sk        integer                       ,    c_current_addr_sk         integer                       ,    c_first_shipto_date_sk    integer                       ,    c_first_sales_date_sk     integer                       ,    c_salutation              char(10)                      ,    c_first_name              char(20)                      ,    c_last_name               char(30)                      ,    c_preferred_cust_flag     char(1)                       ,    c_birth_day               integer                       ,    c_birth_month             integer                       ,    c_birth_year              integer                       ,    c_birth_country           varchar(20)                   ,    c_login                   char(13)                      ,    c_email_address           char(50)                      ,    c_last_review_date        char(10)                      ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY hash (c_customer_sk);CREATE TABLE income_band(    ib_income_band_sk         integer               not null,    ib_lower_bound            integer                       ,    ib_upper_bound            integer                       ) WITH (ORIENTATION = column,COMPRESSION=middle)DISTRIBUTE BY replication;
support.huaweicloud.com/bestpractice-dws/dws_05_0019.html