Cual forma es mejor.
Tengo el siguiente select:
Y tengo este otro ¿Cual recomiendan que deje? El resultado que espero es traer todas las ordenes de mantenimiento en donde fin programado esté en el futuro (fecha y hora mayor igual a la fecha y hora actual. |
Ley de vida, simpre evita utilizar sentencias OR en las consultas a las bases de datos. Para mejorar la rutina podrias organizar la tabla interna por la fecha y la hora. de tal forma que al hacer el DELETE la rutina funcione mucho mas rapido. Igual lo mejor que podrias hacer es hacer TEST de rendimiento a tu programa.
SELECT aufnr objid gstrs gsuzs gltrs gluzs INTO TABLE lt_ordenes_pm FROM caufv WHERE autyp = '30' AND bukrs = c_bukrs AND werks = c_werks AND gltrs >= sy-datum. ***Ordena la tabla interna DELETE lt_ordenes_pm WHERE gltrs EQ sy-datum AND gluzs LE sy-uzeit. |
Si, opté por hacer el delete a la tabla interna y tienes razon me olvidé del ordenamiento para hacer el delete mas rápido.
gracias. |
Porque haciendo el Sort es mas rapido? el delete where va a recorrer todos los registro de la tabla interna, si los encuentra todos juntos o separadas es lo msmo o no?
|
Al ordenar la TI se indexa la misma, por lo cual posteriores busquedas,inserciones, o actualizaciones sobre la misma se realizan de manera mas veloz. |
Husos Horarios son GMT. La hora en este momento es 21:44:55. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web