Re: como saber si se esta utilizando un indice sin explain plan

From: Jose Alberto Sanchez Nieto <albertosanchez(at)hiperusera(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: como saber si se esta utilizando un indice sin explain plan
Date: 2012-03-12 16:21:58
Message-ID: 4F5E22A6.5040001@hiperusera.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias Marcos por la información me ha servido mucho.
Saludos.

El 12/03/2012 14:50, Marcos Ortiz escribió:
> Con esta consulta a pg_stat_user_indexes, puedes ver los candidatos a
> borrar:
>
> SELECT
> idstat.relname AS table_name,
> indexrelname AS index_name,
> idstat.idx_scan AS times_used,
> pg_size_pretty(pg_relation_size(idstat.relname)) AS table_size,
> pg_size_pretty(pg_relation_size(indexrelname)) 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;
>
>
> Esta consulta te dará los índices que han sido escaneados menos de 200
> veces y no son únicos. Se omite los índices únicos por el hecho de
> que ellos son necesarias para forzar el uso de una determinada
> restricción, por lo que no nos interesan (por ahora).
>
> Esta consulta, por supuesto tiene sus limitantes.
> Puedes encontrar esto acá en el blog de Josh Berkus:
>
> http://it.toolbox.com/blogs/database-soup/finding-useless-indexes-28796
>
> En la wiki de PostgreSQL también un artículo dedicado a este tema,
> pero no recuerdo la dirección, y en el blog de Robert Treat también
> habla del tema:
> http://www.xzilla.net
>
> Saludos
>
>
>
> On 03/12/2012 08:21 AM, Jose Alberto Sanchez Nieto wrote:
>> Hola a todos, queremos limpiar nuestro sistema y borrar los indices
>> que no se estén utilizando, estamos haciéndolo en pgadmin mirando las
>> estadísticas de los índices pero tenemos alguna duda. Por poner un
>> ejemplo en una tabla tenemos dos índices con las siguientes estadísticas:
>> indice 1:
>> Busqueda por indices 0
>> tuplas de Indice leidas 0
>> tuplas de Indice Extraidas 0
>> Bloques de Indice Leidos 453
>> Bloques de Iindices Acertados 24178
>>
>> indice 2:
>> Busqueda por indices 77850277
>> tuplas de Indice leidas 90800350
>> tuplas de Indice Extraidas 90790803
>> Bloques de Indice Leidos 133007
>> Bloques de indices Acertados 233958078
>>
>> ¿Los valores a cero del indice 1 significan que no se está usando?,
>> si es así ¿que significaría en dicho índice el valor de bloques de
>> indice leidos y el de acertados si no se está utilizando?
>>
>> Gracias y saludos.
>>
>>
>> --
>>
>>
>>
>> José Alberto Sánchez Nieto
>> albertosanchez(at)hiperusera(dot)es <mailto:ignacio(dot)barbosa(at)hiperusera(dot)es>
>> Responsable Dpto.Sistemas de la Información
>>
>> Avda Principal s/n
>> P.Ind Las Avenidas
>> 28991 Torrejón de la Calzada -- Madrid
>> Telf. 918609900
>> Fax 918160000
>>
>> Le informamos que su dirección de correo electrónico, asi como el
>> resto de los datos de carácter personal aportados, serán objeto de
>> tratamiento automatizado en nuestro ficheros, con la finalidad de
>> gestionar la agenda de contactos de nuestra empresa y, para poder
>> atender a sus peticiones de consulta via electronica. Vd.podrá en
>> cualquier momento ejercer el derecho de acceso, rectificación,
>> cancelación y oposición en los términos establecidos en la Ley
>> Orgánica 15/1999 mediante notificación escrita con copia de DNI., a
>> la entidad, a través de éste e-mail.
>>
>> La información incluida en este e-mail es CONFIDENCIAL, siendo para
>> su usu exlusivo del destinatario arriba mencionado. Si Usted lee este
>> mensaje y no es el destinatario indicado, le informamos de que está
>> totalmente prohibida la utilización, divulgación, distribución y/o
>> reproducción de esta comunicaci´ón sin autorización expresa en virtud
>> de la legislacion vigente. Si ha recibido este mensaje por error le
>> rogamos nos o notifique inmediatamente por esta misma vía y proceda a
>> su eliminación.
>>
>>
>>
>>
>>
>>
>>
>>
>> <http://www.antiterroristas.cu/>
>
> --
> Marcos Luis Ortíz Valmaseda
> http://marcosluis2186.posterous.com
> http://postgresql.uci.cu/blog/38
>
>
> <http://www.antiterroristas.cu/>

--

José Alberto Sánchez Nieto
albertosanchez(at)hiperusera(dot)es <mailto:ignacio(dot)barbosa(at)hiperusera(dot)es>
Responsable Dpto.Sistemas de la Información

Avda Principal s/n
P.Ind Las Avenidas
28991 Torrejón de la Calzada -- Madrid
Telf. 918609900
Fax 918160000

Le informamos que su dirección de correo electrónico, asi como el resto
de los datos de carácter personal aportados, serán objeto de tratamiento
automatizado en nuestro ficheros, con la finalidad de gestionar la
agenda de contactos de nuestra empresa y, para poder atender a sus
peticiones de consulta via electronica. Vd.podrá en cualquier momento
ejercer el derecho de acceso, rectificación, cancelación y oposición en
los términos establecidos en la Ley Orgánica 15/1999 mediante
notificación escrita con copia de DNI., a la entidad, a través de éste
e-mail.

La información incluida en este e-mail es CONFIDENCIAL, siendo para su
usu exlusivo del destinatario arriba mencionado. Si Usted lee este
mensaje y no es el destinatario indicado, le informamos de que está
totalmente prohibida la utilización, divulgación, distribución y/o
reproducción de esta comunicaci´ón sin autorización expresa en virtud de
la legislacion vigente. Si ha recibido este mensaje por error le rogamos
nos o notifique inmediatamente por esta misma vía y proceda a su
eliminación.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jose Alberto Sanchez Nieto 2012-03-12 16:24:41 Re: como saber si se esta utilizando un indice sin explain plan
Previous Message Alvaro Herrera 2012-03-12 15:50:21 Re: como saber si se esta utilizando un indice sin explain plan