Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

432
Visualizações
El comando ANALIZAR en el índice devuelve una advertencia en PostgreSQL

Después de leer la documentación, descubrí que Analyze es para recopilar información sobre la tabla dada que el planificador utilizará en un momento posterior para planificar la ejecución de una consulta. En Oracle, hay una opción para analizar los índices. En el caso de PostgreSQL, el comando ANALIZAR devuelve una advertencia para el índice. Creo que el índice debería ser igualmente importante para PostgreSQL, entonces, ¿por qué no es compatible con PostgreSQL? Es posible que me haya perdido algo. ¿Alguien puede señalar la documentación correcta con la que puedo comprender mejor esto?

 postgres=# Create table test(empno integer); CREATE TABLE postgres=# create index idx_test1 on test(empno ); CREATE INDEX postgres=# \di idx_test1 List of relations Schema | Name | Type | Owner | Table --------+-----------+-------+---------+------- public | idx_test1 | index | Xyz | test (1 row) postgres=# analyze public.idx_test1 postgres-# ; 2020-06-29 16:37:30.665 IST [118434] WARNING: skipping "idx_test1" --- cannot analyze non-tables or special system tables WARNING: skipping "idx_test1" --- cannot analyze non-tables or special system tables ANALYZE postgres=#
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

ANALYZE recopila estadísticas sobre los datos de la tabla (p. ej., número de valores distintos, valor más alto, valor más bajo, etc.).

Cita del manual

Las estadísticas recopiladas por ANALYZE generalmente incluyen una lista de algunos de los valores más comunes en cada columna y un histograma que muestra la distribución aproximada de datos en cada columna.

Básicamente, un índice almacena una copia de los datos almacenados en la tabla (pero de forma ordenada, adecuada para una búsqueda rápida).

Por lo tanto, analizar el índice no arrojaría ninguna información adicional en comparación con el análisis de la tabla. La única excepción serían los índices basados en expresiones (ya que el valor de las expresiones no se almacena directamente en la tabla), para lo cual esto podría tener sentido. Sin embargo, eso no está implementado hasta donde yo sé.

over 4 years ago · Santiago Trujillo Relatório

0

ANALYZE aceptará cualquier objeto que esté almacenado en el catálogo del sistema pg_class , es decir, tablas (particionadas o no particionadas), índices (particionados o no particionados), tablas foráneas, secuencias, tablas TOAST, vistas y vistas materializadas.

Sin embargo, solo procesará tablas particionadas o no particionadas y vistas materializadas. Estos son los únicos objetos para los que tiene sentido recopilar estadísticas. Para todos los demás tipos de objetos, recibirá una advertencia similar a la que recibió y el objeto se omitirá.

Para recopilar estadísticas para una columna o expresión indexada, ANALYZE la tabla en la que se define el índice.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda