Delete sql vfp9 sp2
Publicado por Julio (20 intervenciones) el 17/03/2009 15:33:50
Buenas, tengo una rutina que desarrolle en visual foxpro 8 hace un par de años, en la que elimino de una tabla que tiene unos 50000 registros en función de una clave resultante de otra tabla, esta segunda genera unos 35000 registros que serán las claves a eliminar de la primera, simplemente la sentencia que tengo es la siguiente:
DELETE FROM datos!gastos WHERE dempid=0 AND "X"+ALLTRIM(cuendt)+"X"+ALLTRIM(cauxdt)+"X"+ALLTRIM(STR(montdt,20,6))+"X" IN (SELECT "X"+ALLTRIM(cuendt)+"X"+ALLTRIM(cauxdt)+"X"+ALLTRIM(STR(montdt,20,6))+"X" DISTINC FROM especiales!originales_productos)
Esta sentencia en visual 7 u 8 demora aproximadamente 7 segundos para marcar los registros a borrar, ahora cuando ejecuto en vfp9 la misma sentencia y con el mismo conjunto de datos demora 1 hora 20 minutos.
Alguien me puede orientar en cual es el problema y si tiene solución, de más está decir que se puede realizar una rutina para hacer lo mismo con un par de comandos propios de vfp, lo que me interesa conocer cual es el problema del cambio de rendimiento entre una versión y otra y si hay algún parámetro que estoy dejando de lado y hay que incluirlo con los comandos SQL?
Gracias, saludos.
DELETE FROM datos!gastos WHERE dempid=0 AND "X"+ALLTRIM(cuendt)+"X"+ALLTRIM(cauxdt)+"X"+ALLTRIM(STR(montdt,20,6))+"X" IN (SELECT "X"+ALLTRIM(cuendt)+"X"+ALLTRIM(cauxdt)+"X"+ALLTRIM(STR(montdt,20,6))+"X" DISTINC FROM especiales!originales_productos)
Esta sentencia en visual 7 u 8 demora aproximadamente 7 segundos para marcar los registros a borrar, ahora cuando ejecuto en vfp9 la misma sentencia y con el mismo conjunto de datos demora 1 hora 20 minutos.
Alguien me puede orientar en cual es el problema y si tiene solución, de más está decir que se puede realizar una rutina para hacer lo mismo con un par de comandos propios de vfp, lo que me interesa conocer cual es el problema del cambio de rendimiento entre una versión y otra y si hay algún parámetro que estoy dejando de lado y hay que incluirlo con los comandos SQL?
Gracias, saludos.
Valora esta pregunta


0