Paso 3: Optimización de una tabla
Selección de un modo de almacenamiento
Las tablas de muestra utilizadas en esta práctica son tablas típicas de TPC-DS de múltiples columnas donde se realizan muchas consultas de análisis estadístico. Por lo tanto, se recomienda el modo de almacenamiento de columnas.
1 | WITH (ORIENTATION = column) |
Selección de un nivel de compresión
No se especifica ninguna relación de compresión en Paso 1: Creación de una tabla inicial y carga de datos de ejemplo y DWS selecciona la relación de compresión baja de forma predeterminada. Especifique COMPRESSION a MIDDLE y compare el resultado con el que se obtiene cuando COMPRESSION se establece en LOW.
A continuación se muestra un ejemplo de selección de un modo de almacenamiento y la relación de compresión MIDDLE para una tabla.
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); |
Selección de un modo de distribución
En función de los tamaños de las tablas proporcionados en Paso 2: Prueba del rendimiento del sistema de la tabla inicial y establecimiento de una línea base, establezca el modo de distribución de la siguiente manera.
| Nombre de la tabla | Cantidad de filas | Modo de distribución |
|---|---|---|
| Store_Sales | 287997024 | Hash |
| Date_Dim | 73049 | Replication |
| Store | 402 | Replication |
| Item | 204000 | Replication |
| Time_Dim | 86400 | Replication |
| Promotion | 1000 | Replication |
| Customer_Demographics | 1920800 | Hash |
| Customer_Address | 1000000 | Hash |
| Household_Demographics | 7200 | Replication |
| Customer | 1981703 | Hash |
| Income_Band | 20 | Replication |
Selección de una clave de distribución
Si su tabla se distribuye mediante hash, seleccione una clave de distribución adecuada. Se recomienda seleccionar una clave de distribución de acuerdo con Selección de una clave de distribución.
Seleccione la clave principal de cada tabla como la clave de distribución de la tabla hash.
| Nombre de la tabla | Cantidad de registros | Modo de distribución | Clave de distribución |
|---|---|---|---|
| Store_Sales | 287997024 | Hash | ss_item_sk |
| Date_Dim | 73049 | Replication | - |
| Store | 402 | Replication | - |
| Item | 204000 | Replication | - |
| Time_Dim | 86400 | Replication | - |
| Promotion | 1000 | Replication | - |
| Customer_Demographics | 1920800 | Hash | cd_demo_sk |
| Customer_Address | 1000000 | Hash | ca_address_sk |
| Household_Demographics | 7200 | Replication | - |
| Customer | 1981703 | Hash | c_customer_sk |
| Income_Band | 20 | Replication | - |