PDA

Ver la Versión Completa : actualizacion de indices


cucvalencia
25-07-2003, 23:48:48
Wenas, soy nuevo en esto, y tengo algunas dudas que espero que alguien pueda resolvermelas.
He programado una aplicacion en delphi utilizando Interbase como tipo de base de datos, y mis dudas son las siguientes:

1.-Si utilizo SQL para borrar datos, y esta tabla tiene campos que estan indexados, cuando ejecuto un 'DELETE FROM X WHERE FECHA<'...' ¿los indices tambien se borran de la base de datos?¿o para un mejor funcionamiento deberiahacer una copia de la base de datos y luego restaurarla para que funcionase mejor y volviera a crear unos indices nuevos?

2.-Desde codigo Delphi se pueden regenerar los indices de las tablas?

Gracias de antemano y si alguien pudiera alumbrarme sobre alguna de estas preguntas, le estaria muy agradecido. Saludos:

cucvalencia@hotmail.com

jachguate
26-07-2003, 03:03:24
Los indices son mantenidos por el motor de la base de datos, y siempre reflejan la información que contiene la tabla después de cualquier operación.

En interbase no es necesario la regeneración de indices.

Es normal que después de una serie de actualizaciones/inserciones/borrados, los indices se salgan de balance. Un backup/restore los balancea nuevamente, porque son regenerados. Daria igual hacer un drop index/create index, pero no tiene sentido, salvo quizas, después de una carga masiva.

No recuerdo bien como es con interbase, pero creo que desactivando el indice y volviendolo a activar (si es posible) también se regenera.

En cualquier caso, durante la operación normal, no es necesario regenerar indices.

hasta luego.