Hola
si incluyo el 'max' me obliga a hacer un group by y no puedo, porque lo 
que busco es el importe del ultimo movimiento de un articulo determinado, 
movimiento que no sé cuando se realizó.
Efectivamente hay un ORDER BY en la clausula. La sentencia es la 
siguiente:
DECLARE @CURSOR SCROLL CURSOR FOR SELECT mtanys, mtset, mtqtat
FROM movtda WHERE Mtemp=:@empresa and Mtten=:Ctten and 
mtart=:ctart and mttipm='IF'
ORDER BY mtanys, mtset 
Pero esta sentencia está dentro de un bucle que va leyendo articulo por 
articulo y hace unas 5000 lecturas y por lo tanto ejecuta esta sentencia 
unas 5000 veces    . Se trata de mirar el valor del ultimo movimiento de 
cada articulo.
Mi duda viene porque si esto mismo lo hago con SETLL/ READP va bastante 
más rápido y algo debo de estar haciendo mal en SQL porque siempre se 
habla de que el rendimiento es mejor.
Por cierto, Santiago, el archivo es un archivo definido por DDS 
'tradicionales'. Igualmente le puedo crear un indice?
Salut 
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a