FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Proceso de Grabado Masivo en Paradox no funciona
Hola a todos:
Muchas gracias por la atención, tengo un problemita con una aplicacion de planilla de trabajadores, yo hice un proceso por el cual con una tabla de asistencia calculaba todo lo que correspondia pagarale al trabajador, esto a funcionado correctamente hasta hace unas 3 semanas en la cual el proceso se hace extremadamento lento y al ultimo se cuelga la aplicacion. Bueno yo probe en forma local (la aplicacion trabaja en red )y me di con la sorpresa que el proceso corre perfectamente y ademas es rapido. Tengo algunas hipotesis: 1. Que tendria que hacer un pack a las tablas involucradas (sinceramente tengo miedo de hacerlo por malograr la estructura o algo similar y no se como hacerlo adecuamente tambien). 2.Que tendria que revizar mis querys y optimizarlos (uso algunos join pero cuando trabajo localmente fucniona creo q por ahi no va). Les agradeceria mucho amigos si me pueden ayudar un poco con este tema. Saludos, Javier Villa. |
#2
|
||||
|
||||
Para que alguién pueda darte alguna indicación al respecto, convendría que nos dijeras, cuantos registros tienen las tablas involucradas y que tipo de SQL lanzas para que ocurra el problema que comentas.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Gracias
Bueno son 3 tablas las involucradas una tiene 37,000 registros (DetalleBOleta) la otra 3176 (Boleta) la planilla 78 registros y la de Asistencia 14,453.
Las sentencias de SQL. van dirigidas a la tabla de asistencia pidiendo solo bloques que corresponden son varios metodos que recorro bloques asi. El problema creo que se centra cuando se trabaja en RED, por que cuando se trabaja en una maquina fuera de la RED el proceso funciona correctamente, en cambio cuando estamos en red no culmina el proceso a parte de que la velocidad es mala. Tiene que ver que tengo que hacer un pack a las tablas involucradas (ya que borran modifican a cada rato). Saludos, Javier |
#4
|
||||
|
||||
El volumen de datos no es excesivo debiera de funcionar correctamente también en Red.
Pero hay que tener en cuenta que Paradox con SQL no maneja los índices y que además tanto en filtros como en SQL, aunque filtra una parte se trae la tabla entera por la red, porque la consulta se resuelve en el cliente en vez de hacerlo en el servidor. Tendrías que hacer un Pack ya que como dices que se borra constantemente seguro que la tabla está sobredimensionada y luego probar el rendimiento. Pero si según dices se borra constantemente, el pack no sería una solución ya que no puede hacerse en red, a no ser que se logre el uso exclusivo de la tabla. Una solución pudiera ser tener una tabla temporal y allí enviar solamente los registros que se van a procesar, recorriendo la tabla original con un bucle, pero indexado por el campo que corresponda, asi tardará en razón del volumen de datos que se requiera y no del volumen de la tabla. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
Una consulta un poca tonta
Se malogran la estructura de la tabla cuando se hace un pack (paradox), lo que pasa es que gtengo miedo de que se dañe las tablas aunque estas no tienen ningun indice todo lo hago por consultas sql.
|
#6
|
||||
|
||||
Yo utilizo Pack y no se malogran las estructuras de las tablas y algunas tienen
más de 100.000 registros y múltiples índices. En cualquier caso lo que yo te proponía, es crear una tabla capaz de contener los datos que vas a evaluar, nada más empezar, haces un MiTabla.Empty, esta tabla puede estar en cada PC, así cada uno tiene la suya y puede estar en uso exclusivo. Luego la tabla que contiene los datos (Obligatorio que esté indexada por el campo que vamos a utilizar para hacer la selección) MiTabla.IndexName:='xxxx'; Buscar primera ocurrencia y recorrer hasta que no exitan más: Recorrer tabla origen e ir añadiendo a la tabla destino, de esta manera solo se mueven los datos que se van a procesar y no toda la tabla. Esa es la idea. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#7
|
|||
|
|||
Funciono el Pack
Le hice un pack manualmente por DataBase Desktop y la velocidad mejoro muchisimo el proceso termino sin ningun problema
- Pero este proceso es de una planilla de remuneraciones que a sus vez tiene en su detalle varias boletas (por trabajador) y cada boleta tiene en su detalle diversos conceptos, cuando elimino una planilla se eliminan un registro en la tabla planillas varios registros en el detalle en decir sus boletas y muchisimo mas en el detalle de boletas que tiene los conceptso de cada boleta. A lo que quiero llegar es que se elimina logicamente mas no fisicamente y esto lo hacen seguido. (aqui se genera el problema) Lo que me recomiendas marcoszorrilla suena muy bien podrias explicarme un poquito mas. Muchas gracias de verdad me sirve de mucho tu ayuda. Saludos, Javier Villa. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Reemplazar Componentes (Masivo) | vtdeleon | Varios | 7 | 11-09-2005 17:31:42 |
Traspaso masivo de datos .DBF | eibarra | Conexión con bases de datos | 1 | 06-04-2005 16:06:59 |
consula de incremento masivo | tutuk | SQL | 2 | 15-12-2004 04:25:01 |
Problemas al vacias BBDD con borrado masivo | oesteve | Firebird e Interbase | 2 | 10-05-2004 11:24:01 |
¿funciona paradox (.DB) con visual fox pro? | Robert | Tablas planas | 1 | 15-01-2004 21:34:54 |
|