[SOLVED]Encontrar los índices menos usados en PostgreSQL 9.1

From: Marcos Ortiz <mlortiz(at)uci(dot)cu>
To: pgsql-es-ayuda(at)postgresql(dot)org
Cc: Yoan Manuel Perez Piñero <ymperez(at)uci(dot)cu>
Subject: [SOLVED]Encontrar los índices menos usados en PostgreSQL 9.1
Date: 2013-02-06 17:13:33
Message-ID: 51128F3D.8030909@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, aquí está la consulta terminada y funcional.
Probada con 9.1.7, exactamente:

SELECT version();
version
------------------------------------------------------------------------------------------------------------
PostgreSQL 9.1.7 on x86_64-unknown-linux-gnu, compiled by gcc
(Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
(1 row)

Aquí está la consulta:
# Find useless indexes in your db:

SELECT idstat.relname AS table_name,
indexrelname AS index_name,
idstat.idx_scan AS times_used,
pg_size_pretty(pg_relation_size(idstat.relid::regclass)) AS table_size,
pg_size_pretty(pg_relation_size(idstat.indexrelid::regclass)) AS index_size,
n_tup_upd + n_tup_ins + n_tup_del AS num_writes,
indexdef AS definition
FROM pg_stat_user_indexes AS idstat
JOIN pg_indexes ON indexrelname = indexname
JOIN pg_stat_user_tables AS tabstat ON idstat.relname = tabstat.relname
WHERE idstat.idx_scan < 200
AND indexdef !~* 'unique'
ORDER BY idstat.relname, indexrelname;

Saludos

On 02/06/2013 08:40 AM, Yoan Manuel Perez Piñero wrote:
> Marcos si ya tienes la consulta mejorada, por favor compártela. Gracias de antemano.
>
> ----- Mensaje original -----
> De: "Marcos Ortiz" <mlortiz(at)uci(dot)cu>
> Para: "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com>
> CC: pgsql-es-ayuda(at)postgresql(dot)org
> Enviados: Martes, 5 de Febrero 2013 11:32:00
> Asunto: Re: [pgsql-es-ayuda] Encontrar los índices menos usados en PostgreSQL 9.1
>
>
> On 02/05/2013 11:28 AM, Alvaro Herrera wrote:
>> Marcos Ortiz escribió:
>>
>>> Bueno, encontré una forma más fácil de encontrar los índices que
>>> menos se usan usando el campo idx_scan:
>>>
>>> SELECT schemaname,
>>> relname,
>>> indexrelname,
>>> idx_scan
>>> FROM pg_stat_user_indexes
>>> ORDER BY idx_scan ;
>> Pero cuidado. La otra consulta no es más compleja por puro capricho.
>> Por ej. debes tener cuidado con los índices únicos, que pueden tener
>> cero recorridos pero ser importantes para implementar una restricción de
>> unicidad, por ejemplo.
> Si, precisamente, ese tema era una de las cuestiones que advertía
> Josh Berkus en su post. Lo tendré en cuenta.
>
>
>
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony 2013-02-06 22:30:41 Re: Guardar la hora
Previous Message Guillermo E. Villanueva 2013-02-06 15:22:36 Re: [pgsql-es-ayuda] Re: Uso de resultado de función en la misma proyección o en el filtro