Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Reindexación (https://www.clubdelphi.com/foros/showthread.php?t=32010)

mariofur 24-05-2006 09:30:42

Reindexación
 
Bien, he estado leyendo todo el material que he encontrado acerca del famoso mensaje Index "Out of Date" y la conclusión que saco es que los índices están corruptos. ¿Hay alguna manera de regenerar índices en tiempo de ejecución? (Por si acaso me pasara cuando el usuario está haciendo algo)
¿Cabe la posibilidad de regenerar el índice aunque no sea dentro de delphi?

Gracias.....

Lepe 24-05-2006 09:48:16

Precisamente abajo del todo tienes "hilos relacionados" y acertadamente tienes este mensaje

Puesto que la sección correspondiente no está activa, el programa CAERQUES hay que buscarlo por otros medios.

Saludos

Faust 24-05-2006 14:10:33

Regeneración de índices
 
Saludos camaradas del foro, escribo esperando dar algunas pistas sobre la solución para este problema.

Hace poco me urgía realizar una aplicación para analizar muy profundamente algunos datos provenientes de MS SQL Server, necesitaba hacer entre 90 y 100 consultas y se me hacía muy lento, así que opté por hacer solo dos consultas y vaciarlas cada una en tablas de Paradox de manera local, una vez hecho esto realizar las consultas era muy rápido, el procedimiento era este:
  • Vaciar las tablas,
  • Realizar las consultas en MS SQL Server,
  • Llenar las tablas Paradox con las consultas, y,
  • Trabajar con las tablas Paradox
Pero al crear un índice secundario, después de vaciar las tablas con
Código Delphi [-]
EmptyTable
, al volver a llenarlas y abrirlas utilizando el índice secundario, me daba el error "Index out of date", por lo que a primera vista noté que el índice no se actualizaba automáticamente, traté de forzar su actualización, pero no pude, así que me saqué de la manga un truco un poco olvidado de Trucomania, el no. 339, y una vez llena mi tabla de Paradox regeneré el índice utilizando
Código Delphi [-]
Check(DBIRegenIndexes(DataMod.tblHistory.Handle))
y me funcionó, nunca me ocupe de saber si era la solución correcta, pero me funcionó muy bien.

Espero les sea de ayuda.

Casimiro Noteví 24-05-2006 14:50:01

ah, gracias, por si acaso algún día me hace falta... aunque no entiendo que la velocidad (lentitud) de una consulta en mssql lo soluciones exportando datos a una tabla paradox :confused:

En fin, si lo solucionaste, pues estupendo. :)


La franja horaria es GMT +2. Ahora son las 11:50:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi