Tiempo de lectura:1 Minutos, 15 Segundos

En este articulo veremos cómo reconstruir indice usando REINDEX en PostgreSQL ya que en muchas ocasiones los indices pueden no ser validos o corromperse. Si no conoces lo que es un indice o quieres aprender a crearlo puedes leer este otro articulo.

Sintaxis

La sintaxis para reconstruir un indice es la siguiente:

REINDEX [ ( VERBOSE ) ] { INDEX | TABLE | SCHEMA | DATABASE | SYSTEM } name;

En la sintaxis anterior:

  • Destacar que al especificar la palabra opcional VERBOSE le estamos indicando que nos muestre un informe de progreso.

Regenar un indice

REINDEX INDEX index_name;

Regenerar todos los indices de una tabla

REINDEX TABLE table_name;   

Regenerar todos los indices de un esquema

REINDEX SCHEMA schema_name;   

Regenerar todos los indices de una BBDD

REINDEX DATABASE database_name;

Regenerar todos los indices del catalogo sistema

REINDEX SYSTEM database_name;

Diferencias entre recrear o borrar y crear

Con ambos consigues recrear el indice aunque no son del todo iguales en cómo lo realizan.

REINDEX

  • Bloquea las escrituras pero no las lecturas de la tabla a la que pertenece el índice.
  • Realiza un bloqueo exclusivo en el índice que se está procesando, que bloquea las lecturas que intentan usar el índice.

DROP & CREATE

  • DROP INDEX bloquea tanto las escrituras como las lecturas de la tabla a la que pertenece el índice adquiriendo un bloqueo exclusivo en la tabla.
  • CREATE INDEX bloquea las escrituras pero no las lecturas de la tabla principal del índice. Sin embargo, las lecturas pueden ser costosas durante la creación del índice.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.

Perfiles en Redes Sociales