FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Activar/Desactivar TODOS los índices
Hola:
Pues eso, ¿cómo puedo activar o desactivar todos los índices de todas las tablas?. Es para hacer una insersión masiva de datos que resulta bastante lenta. Quisiera desactivarlos todos, pasar los datos y volver a activarlos todos. Muchas gracias. |
#2
|
||||
|
||||
Hola,
hasta lo que yo sé, no hay manera de desactivarlos todos de un golpe, tendrás que hacerlo uno por uno: Código:
Para desactivar un índice: ALTER INDEX nombre_índice INACTIVE; Para activar un índice: ALTER INDEX nombre_índice ACTIVE; Código:
SELECT rdb$index_name FROM rdb$indices Código:
Para desactivar todos los índices: UPDATE rdb$indices SET rdb$index_inactive = 1 Para activar todos los índices: UPDATE rdb$indices SET rdb$index_inactive = 0 Saludos. |
#3
|
||||
|
||||
Hola:
Gracias por contestar. La solución que has propuesto la he probado pero no funciona. Hay un campo que es rdb$system_flag que está a 1 en los índices del sistema y a null en los creados por mí. Igualmente el campo rdb$index_inactive está a 0 en los del sistema y a null en los que he creado. He probado esto: Código:
update rdb$indices set rdb$index_inactive=1 where rdb$system_flag is null Código:
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements. action cancelled by trigger (2) to preserve data integrity. Cannot deactivate index used by an Integrity Constraint. Muchas gracias. Saludos. |
|
|
|