Este artículo se comparte desde la comunidad en la nube de Huawei " Ajuste de rendimiento de GaussDB (DWS): optimización de sesgo - Optimización de sugerencias de sesgo de cálculo de expresión ", autor: Ge Li Ge.
1. SQL sin procesar
SELECCIONE TMP4.TAX_AMT, CATE.L1_PUR_ITEM_CATG_CN_NAME || '-' || CATE.L2_PUR_ITEM_CATG_CN_NAME || '-' || CATE.L3_PUR_ITEM_CATG_CN_NAME AS PRODUCT_CATEGORY, MATE.ITEM_CODE AS PRODUCT_CODE, INVENTORY_ORG_NAME, TMP4.INVOICE_WITHHOLDING_TAX_GROUP, TMP4.PAYMENT_THHOLDING_TAX_GROUP , TMP4.PO_CHARGE_ACCOUNT_CODE , TMP4.CFS_INVOICE_NUMBER, A PR.TAX_INVOICE_DATE DE DWLTAX.DWL_TAX_TAXDP_ERP_AP_INVOICE_TMP5 TMP4, DWRDIM_DW1.DWR_DIM_PUR_ITEM_CATEGORY_D CATE, DWRDIM_DW1.DWR_DIM_MATERIAL_CODE_D MATE , DWRDIM_DW1.DWR_DIM_INVENTORY_ORG_D INVEN, DWTAXDI.DWI_AP_INVOICE_I AP, DWTAXDI.DWI_AP_INVOICE_REGSTN_I APR DONDE 1 = 1 AND TMP4.ITEM_CATEGORY_KEY = CATE.PUR_ITEM_CATG_KEY(+) AND CATE.DEL_FLAG(+) = 'N' AND TMP4.ITEM_ID = MATE.ITEM_ID(+) AND MATE.DEL_FLAG(+) = 'N' AND TMP4.PO_SHIPMENT_TARGET_INV_ORG_KEY = INVEN .INVENTORY_ORG_KEY(+) AND INVEN.DEL_FLAG(+) = 'N' AND TMP4.AP_INVOICE_ID = AP.AP_INVOICE_ID(+) AND 6600 || AP.ATTRIBUTE1 = TO_CHAR(APR.AP_INVOICE_REGSTN_ID(+))
Ejecute el rendimiento, consulte el estado de ejecución específico y la información de autodiagnóstico de SQL (consulte el archivo adjunto caso-paso1-información de ejecución original.txt para obtener más detalles)
identificación | operación | tiempo A | A-filas | E-filas | E-distinto | Memoria máxima | E-memoria | ancho A | ancho E | E-costos ----+------------------------------------------ -------------------------------------------------- ----------+------------------------+-------------+- -----------+------------+----------------+-------- ---------+-----------+---------+------------------ 1 | -> Adaptador de fila | 69922.773 | 69237018 | 69237018 | | 87KB | | | 573 | 15160857.61 2 | -> Vector Streaming (tipo: GATHER) | 65581.989 | 69237018 | 69237018 | | 536 KB | | | 573 | 15160857.61 3 | -> Vector Hash Right Join (4, 6) | [61186.201, 73129.055] | 69237018 | 69237018 | | [306 MB, 682 MB] | 1113 MB (9990 MB) | | 573 | 15159431.83 4 | -> Vector Streaming (tipo: BROADCAST ng: LC_DL1->LC_DW1) | [554.217, 21008.078] | 1382000544 | 1381572384 | 282184 | [4 MB, 4 MB] | 3 MB | | 16 | 7056095.88 5 | -> Exploración de CStore en dwifin.dwi_ap_invoice_regstn s | [5.354, 11.617] | 28791678 | 28782758 | | [1 MB, 1 MB] | 1 MB | | 16 | 28004.18 6 | -> Vector Hash Left Join (7, 19) | [1728.008, 2017.488] | 69237018 | 69237018 | 79721 | [834 KB, 834 KB] | 16 MB | [229,252] | 578 | 1832322.90 7 | -> Vector Hash Left Join (8, 17) | [1428.799, 1925.653] | 69237018 | 69237018 | 179 | [32 MB, 32 MB] | 28 MB (8901 MB) | | 576 | 1817105.07 8 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART ROUNDROBIN) | [996.780, 1635.826] | 69237018 | 69237018 | 4167 | [1 MB, 1 MB] | 2 MB | | 570 | 1788113.85 9 | -> Vector Hash Left Join (10, 14) | [1086.903, 1780.641] | 69237018 | 69237018 | | [173 MB, 174 MB] | 227 MB (9067 MB) | | 570 | 1304897.12 10 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART ROUNDROBIN) | [153.628, 891.680] | 69237018 | 69237018 | 20271 | [1 MB, 1 MB] | 2 MB | | 567 | 847160.16 11 | -> Vector Hash Left Join (12, 13) | [367.155, 465.821] | 69237018 | 69237018 | | [30 MB, 30 MB] | 22 MB (8896 MB) | | 567 | 363943.43 12 | -> Exploración de CStore en dwltax.dwl_tax_taxdp_erp_ap_invoice_tmp5 tmp4 | [150.676, 178.827] | 69237018 | 69237018 | 526 | [4 MB, 4 MB] | 1 MB | | 553 | 340168.44 13 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_pur_item_category_d cate | [14.549, 24.399] | 8228448 | 8228448 | 171426 | [2 MB, 2 MB] | 1 MB | [104,104] | 26 | 9056.99 14 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART BROADCAST ng: LC_DL1->LC_DW1) | [315.926, 339.782] | 117191217 | 117191170 | 2441483 | [1 MB, 1 MB] | 3 MB | [47,47] | 22 | 406136.10 15 | -> Iterador de partición vectorial | [118.307, 151.248] | 117191170 | 117191170 | | [41 KB, 41 KB] | 1 MB | | 22 | 300641.93 16 | -> Escaneo CStore particionado en dwifin.dwi_ap_invoice s | [86.557, 111.947] | 117191170 | 117191170 | | [6 MB, 6 MB] | 1 MB | | 22 | 300641.93 17 | -> Vector Streaming (tipo: PARTE LOCAL PARTE BROADCAST) | [60.429, 99.381] | 15442613 | 15442566 | 321720 | [584 KB, 584 KB] | 2 MB | [58,58] | 19 | 49578.19 18 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_material_code_d mate | [19.779, 33.206] | 15442566 | 15442566 | | [1 MB, 2 MB] | 1 MB | | 19 | 35704.02 19 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_inventory_org_d inven | [0,383, 0,739] | 135072 | 135072 | 2814 | [1 MB, 1 MB] | 1 MB | [53,53] | 14 | 2823.85 Información de diagnóstico de SQL ---------------------------------------------- ---------------------------------------------- Ejecutar información de diagnóstico PlanNode [4] Tabla grande en transmisión "Transmisión de vectores (tipo: BROADCAST ng: LC_DL1->LC_DW1)" Información de predicado (identificado por id de plan) -------------------- -------------------------------------------------- -------------------------------------------------- ------ 3 --Vector Hash Right Join (4, 6) Hash Cond: (((numeric_out(s.ap_invoice_regstn_id))::variable de caracteres)::text = ('6600'::text || ( s.atributo1)::texto)) 6 --Vector Hash Left Join (7, 19) Hash Cond: (tmp4.po_shipment_target_inv_org_key = inven.inventory_org_key) 7 --Vector Hash Left Join (8, 17) Hash Cond: (tmp4.item_id = mate.item_id) Skew Join Optimizado por Estadística 8 --Transmisión de vectores (tipo: PARTE REDISTRIBUIR PARTE ROUNDROBIN) Filtro sesgado (tipo: ROUNDROBIN): ((tmp4.item_id = (-999999)::numeric) OR (tmp4.item_id IS NULL)) 9 -- Vector Hash Left Join (10, 14) Hash Cond: (tmp4.ap_invoice_id = s.ap_invoice_id) Skew Join Optimized by Statistic 10 --Vector Streaming (type: PART REDISTRIBUTE PART ROUNDROBIN) Skew Filter (tipo: ROUNDROBIN): (tmp4. ap_invoice_id = 1001113812002::numeric) 11 --Vector Hash Left Join (12, 13) Hash Cond: (tmp4.item_category_key = cate.pur_item_catg_key) 13 --CStore Scan on dwrdim_dw1.dwr_dim_pur_item_category_d cate Filter: ((cate.del_flag)::text = 'N'::text) Pushdown Predicate Filter: ((cate.del_flag) ::texto = 'N'::texto) 14 --Streaming vectorial(tipo: PARTE REDISTRIBUTE PARTE BROADCAST ng: LC_DL1->LC_DW1) Filtro sesgado(tipo: BROADCAST): (s.ap_invoice_id = 1001113812002::numeric) 15 --Vector Partition Iterator Iteraciones: 147 16 --CStore particionado Scan en dwifin.dwi_ap_invoice s Particiones seleccionadas por Static Prune: 1..147 17 --Transmisión de vectores (tipo: PART LOCAL PART BROADCAST) Filtro sesgado (tipo: BROADCAST): (compañero.item_id = (-999999)::numérico) 18 --CStore Scan en dwrdim_dw1.dwr_dim_material_code_d mate Filter: ((mate.del_flag)::text = 'N'::text) Pushdown Predicate Filter: ((mate.del_flag)::text = 'N'::text) 19 --CStore Scan en dwrdim_dw1.dwr_dim_inventory_org_d inven Filter: ((inven.del_flag)::text = 'N'::text) Pushdown Predicate Filter: ((inven.del_flag)::text = 'N'::text)
2. Prohibición de la radiodifusión de grandes escuchas
Como se muestra en la sección anterior, el paso con id=4 es de hecho un gran conjunto de resultados (2879w elementos) que se ha transmitido, y el HashJoin subsiguiente con id=5 lleva mucho tiempo. Por lo tanto, se prohíbe la transmisión de dwifin.dwi_ap_invoice_regstn agregando una pista. El análisis encontró que la tabla dwifin.dwi_ap_invoice_regstn apareció cuando se expandió la vista apr, por lo que se agregó la siguiente información de sugerencia, donde
1. no merge (apr) es para evitar que se promueva la declaración en la vista apr, lo que resulta en la falla de la información de sugerencia
2. sin transmisión (apr) significa que apr tiene prohibido transmitir
EXPLIQUE el rendimiento SELECCIONE /*+ sin fusión (abr) sin transmisión (abr) */ TMP4.TAX_AMT, CATE.L1_PUR_ITEM_CATG_CN_NAME || '-' || CATE.L2_PUR_ITEM_CATG_CN_NAME || '-' || CATE.L3_PUR_ITEM_CATG_CN_NAME AS PRODUCT_CATEGORY, MATE.ITEM_CODE AS PRODUCT_CODE, INVENTORY_ORG_NAME, TMP4.INVOICE_WITHHOLDING_TAX_GROUP, TMP4.PAYMENT_THHOLDING_TAX_GROUP , TMP4.PO_CHARGE_ACCOUNT_CODE , TMP4.CFS_INVOICE_NUMBER, A PR.TAX_INVOICE_DATE DE DWLTAX.DWL_TAX_TAXDP_ERP_AP_INVOICE_TMP5 TMP4, DWRDIM_DW1.DWR_DIM_PUR_ITEM_CATEGORY_D CATE, DWRDIM_DW1.DWR_DIM_MATERIAL_CODE_D MATE , DWRDIM_DW1.DWR_DIM_INVENTORY_ORG_D INVEN, DWTAXDI.DWI_AP_INVOICE_I AP, DWTAXDI.DWI_AP_INVOICE_REGSTN_I APR DONDE 1 = 1 AND TMP4.ITEM_CATEGORY_KEY = CATE.PUR_ITEM_CATG_KEY(+) AND CATE.DEL_FLAG(+) = 'N' AND TMP4.ITEM_ID = MATE.ITEM_ID(+) AND MATE.DEL_FLAG(+) = ' N' AND TMP4.PO_SHIPMENT_TARGET_INV_ORG_KEY = INVEN.INVENTORY_ORG_KEY(+) AND INVEN.DEL_FLAG(+) = 'N' AND TMP4.AP_INVOICE_ID = AP.AP_INVOICE_ID(+) AND 6600 || AP.ATTRIBUTE1 = TO_CHAR(APR.AP_INVOICE_REGSTN_ID(+))
Obtenga la información de rendimiento de la declaración anterior (consulte la transmisión de tabla grande case-step2-prohibit adjunta.txt para obtener más detalles)
identificación | operación | tiempo A | A-filas | E-filas | E-distinto | Memoria pico | E-memoria | ancho A | ancho E | E-costos ----+------------------------------------------ -------------------------------------------------- -------------+------------------------+----------------- +-----------+------------+-------+------- ---------+-----------+---------+------------------ 1 | -> Adaptador de fila | 15685.781 | 69237018 | 69237018 | | 87KB | | | 573 | 33341721.22 2 | -> Vector Streaming (tipo: GATHER) | 11361.740 | 69237018 | 69237018 | | 536 KB | | | 573 | 33341721.22 3 | -> Vector Hash Left Join (4, 19) | [15269.267, 18985.791] | 69237018 | 69237018 | | [74 MB, 74 MB] | 101 MB (9984 MB) | | 573 | 33340295.43 4 | -> Transmisión de vectores (tipo: REDISTRIBUIR) | [4743.867, 18632.182] | 69237018 | 69237018 | 79721 | [1 MB, 2 MB] | 2 MB | | 578 | 29821930.76 5 | -> Vector Hash Left Join (6, 18) | [1473.990, 15359.055] | 69237018 | 69237018 | | [866 KB, 898 KB] | 16 MB | | 578 | 1832322.90 6 | -> Vector Hash Left Join (7, 16) | [1130.814, 15223.646] | 69237018 | 69237018 | 179 | [32 MB, 32 MB] | 28 MB (9923 MB) | | 576 | 1817105.07 7 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART ROUNDROBIN) | [681.709, 14909.424] | 69237018 | 69237018 | 4167 | [1 MB, 1 MB] | 2 MB | | 570 | 1788113.85 8 | -> Vector Hash Left Join (9, 13) | [1049.201, 12602.796] | 69237018 | 69237018 | | [173 MB, 174 MB] | 227 MB (10089 MB) | | 570 | 1304897.12 9 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART ROUNDROBIN) | [128.704, 11737.099] | 69237018 | 69237018 | 20271 | [1 MB, 1 MB] | 2 MB | | 567 | 847160.16 10 | -> Vector Hash Left Join (11, 12) | [368.537, 443.623] | 69237018 | 69237018 | | [30 MB, 30 MB] | 22 MB (9918 MB) | | 567 | 363943.43 11 | -> Exploración de CStore en dwltax.dwl_tax_taxdp_erp_ap_invoice_tmp5 tmp4 | [148.366, 175.347] | 69237018 | 69237018 | 526 | [4 MB, 4 MB] | 1 MB | | 553 | 340168.44 12 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_pur_item_category_d cate | [13.319, 24.442] | 8228448 | 8228448 | 171426 | [2 MB, 2 MB] | 1 MB | [104,104] | 26 | 9056.99 13 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART BROADCAST ng: LC_DL1->LC_DW1) | [242.053, 294.233] | 117191217 | 117191170 | 2441483 | [1 MB, 1 MB] | 3 MB | [47, 47] | 22 | 406136.10 14 | -> Iterador de partición vectorial | [118.124, 154.954] | 117191170 | 117191170 | | [41 KB, 41 KB] | 1 MB | | 22 | 300641.93 15 | -> Escaneo CStore particionado en dwifin.dwi_ap_invoice s | [86.942, 105.441] | 117191170 | 117191170 | | [6 MB, 6 MB] | 1 MB | | 22 | 300641.93 16 | -> Vector Streaming (tipo: PARTE LOCAL PARTE BROADCAST) | [83.793, 117.853] | 15442613 | 15442566 | 321720 | [584 KB, 584 KB] | 2 MB | [58,58] | 19 | 49578.19 17 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_material_code_d mate | [21.898, 35.895] | 15442566 | 15442566 | | [1 MB, 2 MB] | 1 MB | | 19 | 35704.02 18 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_inventory_org_d inven | [0,389, 0,661] | 135072 | 135072 | 2814 | [1 MB, 1 MB] | 1 MB | [53,53] | 14 | 2823.85 19 | -> Vector Streaming (tipo: REDISTRIBUTE ng: LC_DL1->LC_DW1) | [30.667, 49.474] | 28791678 | 28782758 | 599641 | [2 MB, 2 MB] | 3 MB | [75,75] | 16 | 56030.49 20 | -> Escaneo de subconsultas vectoriales en abril | [42.087, 61.734] | 28791678 | 28782758 | | [376 KB, 376 KB] | 1 MB | | 16 | 30826.02 21 | -> Exploración de CStore en dwifin.dwi_ap_invoice_regstn s | [5.177, 8.049] | 28791678 | 28782758 | | [1 MB, 1 MB] | 1 MB | | 16 | 28004.18 Información de diagnóstico SQL ---------------------------------------------- -------------------------------------------------- ---------- Ejecutar información de diagnóstico PlanNode[4] DataSkew:"Vector Streaming(type: REDISTRIBUTE)", min_dn_tuples:257082, max_dn_tuples:47206637 Predicate Information (identificado por id del plan) -------------------------------------------------- -------------------------------------------------- ------------------------------ 3 --Vector Hash Left Join (4, 19) Hash Cond: ((('6600 '::text || (s.attribute1)::text)) = ((numeric_out(apr.ap_invoice_regstn_id))::variable de caracteres)::text) 5 --Vector Hash Left Join (6, 18) Hash Cond: (tmp4.po_shipment_target_inv_org_key = inven.inventory_org_key) 6 --Vector Hash Left Join (7, 16) Hash Cond: (tmp4.item_id = mate.item_id) Skew Join Optimized by Statistic 7 --Vector Streaming(type: PART REDISTRIBUTE PART ROUNDROBIN ) Filtro sesgado (tipo: ROUNDROBIN): ((tmp4.item_id = (-999999)::numeric) OR (tmp4.item_id IS NULL)) 8 --Vector Hash Left Join (9, 13) Hash Cond: (tmp4.ap_invoice_id = s.ap_invoice_id) Skew Join Optimized by Statistic 9 --Vector Streaming (type: PART REDISTRIBUTE PART ROUNDROBIN) Skew Filter (tipo: ROUNDROBIN): (tmp4.ap_invoice_id = 1001113812002::numeric) 10 - -Vector Hash Left Join (11, 12) Hash Cond: (tmp4.item_category_key = cate.pur_item_catg_key) 12 --CStore Scan on dwrdim_dw1.dwr_dim_pur_item_category_d cate Filter: ((cate.del_flag)::text = 'N'::text ) Filtro de predicado pushdown: ((cate.del_flag)::text = 'N'::text) 13 --Transmisión de vectores (tipo: PART REDISTRIBUTE PART BROADCAST ng: LC_DL1->LC_DW1) Filtro sesgado (tipo: BROADCAST): ( s.ap_invoice_id = 1001113812002::numeric) 14 --Vector Partition Iterator Iteraciones: 147 15 --Escaneo de CStore particionado en dwifin.dwi_ap_invoice s Particiones seleccionadas por Static Prune: 1..147 16 --Transmisión de vectores (tipo: PART LOCAL PART BROADCAST) Filtro sesgado (tipo: BROADCAST): (mate.item_id = (-999999) ::numeric) 17 --CStore Scan en dwrdim_dw1.dwr_dim_material_code_d filtro mate : ((mate.del_flag)::text = 'N'::text) Filtro de predicado pushdown: ((mate.del_flag)::text = 'N '::text) 18 --CStore Scan en dwrdim_dw1.dwr_dim_inventory_org_d inven Filter: ((inven.del_flag)::text = 'N'::text) Pushdown Predicate Filter: ((inven.del_flag)::text = 'N '::texto)
3. La insinuación de la expresión tilt
Advertencia de pendiente encontrada en la información de autodiagnóstico
Y el operador con Plan ID 4 es
Entre ellos, s es la tabla expandida dwifin.dwi_ap_invoice de la vista dwtaxdi.dwi_ap_invoice_i.La información estadística de la columna atributo1 de esta tabla es la siguiente, y se encuentra que hay un sesgo grave en el valor NULL
Debido a que la columna de redistribución es una expresión 6600 || AP.ATTRIBUTE1, la sugerencia inclinada actual de DWS no admite expresiones, porque hacemos las siguientes soluciones para implementar la sugerencia del valor inclinado de la expresión
SELECCIONAR /*+ sin fusión (apr) sin transmisión (apr) sin fusión (ap) sesgo (ap (attr1) ('6600')) */ TMP4.TAX_AMT, CATE.L1_PUR_ITEM_CATG_CN_NAME || '-' || CATE.L2_PUR_ITEM_CATG_CN_NAME || '-' || CATE.L3_PUR_ITEM_CATG_CN_NAME AS PRODUCT_CATEGORY, MATE.ITEM_CODE AS PRODUCT_CODE, INVENTORY_ORG_NAME, TMP4.INVOICE_WITHHOLDING_TAX_GROUP, TMP4.PAYMENT_THHOLDING_TAX_GROUP , TMP4.PO_CHARGE_ACCOUNT_CODE , TMP4.CFS_INVOICE_NUMBER, A PR.TAX_INVOICE_DATE DE DWLTAX.DWL_TAX_TAXDP_ERP_AP_INVOICE_TMP5 TMP4, DWRDIM_DW1.DWR_DIM_PUR_ITEM_CATEGORY_D CATE, DWRDIM_DW1.DWR_DIM_MATERIAL_CODE_D MATE , DWRDIM_DW1.DWR_DIM_INVENTARIO_ORG_D INVENTARIO, (SELECCIONE *, 6600 || AP.ATTRIBUTE1 COMO ATTR1 DE DWTAXDI.DWI_AP_INVOICE_I AP) AP, DWTAXDI.DWI_AP_INVOICE_REGSTN_I APR DONDE 1 = 1 AND TMP4.ITEM_CATEGORY_KEY = CATE.PUR_ITEM_CATG_KEY(+) AND CATE.DEL_FLAG(+) = 'N' AND TMP4.ITEM_ID = MATE.ITEM_ID(+) AND MATE.DEL_FLAG(+) = 'N' AND TMP4.PO_SHIPMENT_TARGET_INV_ORG_KEY = INVEN.INVENTORY_ORG_KEY(+) AND INVEN.DEL_FLAG(+) = 'N' AND TMP4.AP_INVOICE_ID = AP .AP_INVOICE_ID(+) AND ATTR1 = TO_CHAR(APR.AP_INVOICE_REGSTN_ID(+))
que construye la subconsulta AP
SELECCIONAR *, 6600 || AP.ATTRIBUTE1 COMO ATTR1 DE DWTAXDI.DWI_AP_INVOICE_I AP
Coloque la expresión de columna asociada original en la subconsulta y luego asigne el nombre 6600 || AP.ATTRIBUTE1 como attr1.
En la consulta principal, primero prohíba la promoción de la subconsulta AP. Luego, en la consulta principal, hay un valor sesgado '6600' en la columna attr1 del conjunto de resultados de la subconsulta de sugerencia AP. Este valor de pendiente se calcula (NULL || 6600 = '6600'), y la expresión asociada en el cálculo asociado original es la siguiente, es decir, el resultado de 6600 || AP.ATTRIBUTE1 se convierte a tipo de texto (tipo de cadena)
Obtenga el rendimiento de la nueva declaración de la siguiente manera (consulte el archivo adjunto case-step3-slant optimizacion.txt para obtener más detalles)
identificación | operación | tiempo A | A-filas | E-filas | E-distinto | Memoria pico | E-memoria | ancho A | ancho E | E-costos ----+------------------------------------------ -------------------------------------------------- ----------+-----------------------+------------------+--- --------+------------+----------------+----------- -----+-----------+---------+------------------ 1 | -> Adaptador de fila | 9045.793 | 69237018 | 69237018 | | 87KB | | | 573 | 2040755.71 2 | -> Vector Streaming (tipo: GATHER) | 4842.656 | 69237018 | 69237018 | | 520 KB | | | 573 | 2040755.71 3 | -> Vector Hash Left Join (4, 21) | [2673.707, 11389.688] | 69237018 | 69237018 | | [1 MB, 1 MB] | 16 MB | | 573 | 2039329.92 4 | -> Vector Hash Left Join (5, 19) | [1951.482, 10931.220] | 69237018 | 69237018 | 179 | [32 MB, 32 MB] | 28 MB (10018 MB) | | 571 | 2009687.71 5 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART ROUNDROBIN) | [1541.777, 10591.702] | 69237018 | 69237018 | 4167 | [1 MB, 1 MB] | 2 MB | | 565 | 1980696.49 6 | -> Vector Hash Left Join (7, 18) | [1703.438, 1980.655] | 69237018 | 69237018 | | [30 MB, 30 MB] | 22 MB (10010 MB) | | 565 | 1497479.76 7 | -> Vector Hash Left Join (8, 10) | [1523.277, 1708.622] | 69237018 | 69237018 | 526 | [165 MB, 166 MB] | 191 MB (10151 MB) | | 551 | 1473704.77 8 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART ROUNDROBIN) | [94.501, 203.619] | 69237018 | 69237018 | 20271 | [1 MB, 1 MB] | 2 MB | | 553 | 823385.17 9 | -> Exploración de CStore en dwltax.dwl_tax_taxdp_erp_ap_invoice_tmp5 tmp4 | [142.734, 171.486] | 69237018 | 69237018 | | [4 MB, 4 MB] | 1 MB | | 553 | 340168.44 10 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART BROADCAST ng: LC_DL1->LC_DW1) | [811.192, 853.583] | 117191217 | 117191170 | 2441483 | [2 MB, 2 MB] | 3 MB | [44,44] | 17 | 598718.74 11 | -> Vector Hash Left Join (12, 15) | [340.998, 790.399] | 117191170 | 117191170 | | [39 MB, 39 MB] | 27 MB (10015 MB) | | 17 | 493224.57 12 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART ROUNDROBIN) | [53.170, 79.836] | 117191170 | 117191170 | 79721 | [2 MB, 2 MB] | 3 MB | | 41 | 412662.90 13 | -> Iterador de partición vectorial | [145.450, 171.527] | 117191170 | 117191170 | | [41 KB, 41 KB] | 1 MB | | 22 | 303514.27 14 | -> Escaneo CStore particionado en dwifin.dwi_ap_invoice s | [112.099, 134.193] | 117191170 | 117191170 | | [6 MB, 6 MB] | 1 MB | | 22 | 300641.93 15 | -> Vector Streaming (tipo: PART REDISTRIBUTE PART BROADCAST) | [48.632, 99.230] | 28791678 | 28782758 | 282184 | [2 MB, 2 MB] | 3 MB | [75,75] | 16 | 56928.04 16 | -> Escaneo de subconsultas vectoriales en abril | [41.916, 78.189] | 28791678 | 28782758 | | [376 KB, 376 KB] | 1 MB | | 16 | 30826.02 17 | -> Exploración de CStore en dwifin.dwi_ap_invoice_regstn s | [5.233, 10.667] | 28791678 | 28782758 | | [1 MB, 1 MB] | 1 MB | | 16 | 28004.18 18 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_pur_item_category_d cate | [12.065, 20.667] | 8228448 | 8228448 | 171426 | [2 MB, 2 MB] | 1 MB | [104,104] | 26 | 9056.99 19 | -> Vector Streaming (tipo: PARTE LOCAL PARTE BROADCAST) | [67.272, 97.378] | 15442613 | 15442566 | 321720 | [584 KB, 584 KB] | 2 MB | [58,58] | 19 | 49578.19 20 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_material_code_d mate | [18.605, 31.713] | 15442566 | 15442566 | | [1 MB, 2 MB] | 1 MB | | 19 | 35704.02 21 | -> Exploración de CStore en dwrdim_dw1.dwr_dim_inventory_org_d inven | [0,378, 0,647] | 135072 | 135072 | 2814 | [1 MB, 1 MB] | 1 MB | [53,53] | 14 | 2823.85 Información predicada (identificada por id del plan) ----------------------------------------- -------------------------------------------------- --------------------------------------- 3 --Vector Hash Left Join (4, 21 ) Hash Cond: (tmp4.po_shipment_target_inv_org_key = inven.inventory_org_key) 4 --Vector Hash Left Join (5, 19) Hash Cond: (tmp4.item_id = mate.item_id) Skew Join Optimized by Statistic 5 --Vector Streaming (tipo: PARTE REDISTRIBUTE PART ROUNDROBIN) Filtro sesgado (tipo: ROUNDROBIN): ((tmp4.item_id = (-999999)::numeric) OR (tmp4.item_id IS NULL)) 6 --Vector Hash Left Join (7, 18) Hash Cond: (tmp4.item_category_key = cate.pur_item_catg_key) 7 -- Vector Hash Left Join (8, 10) Hash Cond: (tmp4.ap_invoice_id = s.ap_invoice_id) Skew Join Optimized by Statistic 8 --Vector Streaming (tipo: PARTE REDISTRIBUTE PART ROUNDROBIN) Filtro sesgado (tipo: ROUNDROBIN): (tmp4. ap_invoice_id = 1001113812002::numérico) 10 --Streaming vectorial (tipo: PART REDISTRIBUTE PART BROADCAST ng: LC_DL1->LC_DW1) Filtro sesgado (tipo: BROADCAST): (s.ap_invoice_id = 1001113812002::numeric) 11 --Vector Hash Left Join (12, 15) Hash Cond: ((('6600'::text || (s.attribute1)::text)) = ((numeric_out(apr.ap_invoice_regstn_id))::carácter variable)::text) Skew Join Optimized by Hint 12 -- Transmisión vectorial (tipo: PARTE REDISTRIBUIR PARTE ROUNDROBIN) Filtro sesgado (tipo: ROUNDROBIN): ((('6600'::text || (s.attribute1)::text)) = '6600'::text) 13 -- Iterador de particiones vectoriales Iteraciones: 147 14 --Escaneo de CStore particionado en dwifin.dwi_ap_invoice s Particiones seleccionadas por Static Prune: 1..147 15 --Transmisión de vectores (tipo:PARTE REDISTRIBUCIÓN PARTE TRANSMISIÓN) Filtro sesgado (tipo: BROADCAST): ((((numeric_out(apr.ap_invoice_regstn_id))::variable de caracteres)::text) = '6600'::text) 18 --CStore Scan en dwrdim_dw1.dwr_dim_pur_item_category_d cate Filter: (( cate.del_flag)::text = 'N'::text) Filtro de predicado pushdown: ((cate.del_flag)::text = 'N'::text) 19 --Transmisión de vectores (tipo: PART LOCAL PART BROADCAST) Sesgo Filtro (tipo: BROADCAST): (mate.item_id = (-999999)::numeric) 20 --CStore Scan on dwrdim_dw1.dwr_dim_material_code_d mate Filter: ((mate.del_flag)::text = 'N'::text) Pushdown Filtro de predicado: ((mate.del_flag)::text = 'N'::text) 21 --CStore Scan on dwrdim_dw1.dwr_dim_inventory_org_d inven Filter: ((inven.del_flag)::text = 'N'::text) Filtro de predicado pushdown: ((inven.del_flag)::text = 'N'::text)
- Archivo adjunto: caso-paso1-información de ejecución original.txt 0B
- Adjunto: case-step3-tilt optimización.txt 862.61KB
- Adjunto: case-step2-Prohibición de radiodifusión de mesa grande.txt 0B
Haga clic para seguir y conocer las nuevas tecnologías de Huawei Cloud por primera vez~
Aclaración sobre MyBatis-Flex plagiando el navegador MyBatis-Plus Arc lanzado oficialmente 1.0, afirmando ser un reemplazo para Chrome OpenAI lanzó oficialmente la versión de Android ChatGPT VS Code optimizó la compresión de ofuscación de nombres, ¡reducción de JS incorporado en un 20%! LK-99: ¿El primer superconductor de temperatura y presión ambiente? Musk "compró por cero yuanes" y robó la cuenta de Twitter @x. El Comité Directivo de Python planea aceptar la propuesta PEP 703, haciendo que el bloqueo del intérprete global sea opcional . El número de visitas al software de código abierto y de captura de paquetes gratuito del sistema Stack Overflow ha disminuido significativamente, y Musk dijo que ha sido reemplazado por LLM