|
#1
|
||||
|
||||
Yo lo que haria
¿Cómo mejoro rendimiento a estos 2 selects? (alternativas)
* it_ass_tipus definela con campos que necesites * * it_sac definela con campos que necesites * SELECT [Pon los campos que necesites] INTO TABLE it_ass_tipus FROM zef_ass_tipus WHERE retencio_irpf = 'X' AND tipus_ajust <> '/'. If sy-subrc = 0. * Obtenim les dades de la sac SELECT [Pon los campos que necesites] INTO TABLE it_sac FROM zef_sac FOR ALL ENTRIES IN it_ass_tipus WHERE bukrs = p_bukrs AND gjahr = p_gjahr AND id_tipus_ass = it_ass_tipus-tipus_complert AND belnr IN s_belnr AND tercer IN s_tercer AND estat IN s_estat AND estat <> '99' AND hkont IN s_hkont AND tercer IN r_terc. A la tabla ZEF_SAC creale un indice con los campos que usas aqui. endif. Saludos
__________________
Un Huevon No Inútil Solo di lo que piensas, a la mejor tienes la mejor respuesta.... Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo..... Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho..... Consultor FI jr/ABAP Sr. |
#2
|
|||
|
|||
nueva idea
Y si hago 2 selects normales, lo meto en 2 tablas internas y luego hago
un loop de una tabla y read table binary search con la otra? Podría mejorar la cosa |
#3
|
|||
|
|||
Eso dependerá de algunos factores, como el número de registros de cada tabla (sobretodo de la segunda), la memoria del servidor, su configuración...
Yo antes que intentar eso haría pruebas de rendimiento con un SELECT-LOOP-SELECT, como te he comentado antes. Siempre estás a tiempo de echarte atrás, pero probablemente te sorprendas.
__________________
"Porque algunos sabemos que somos parte del problema"
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|