Обсуждение: Re: [pgsql-ru-general] статистика использования индексов

Поиск
Список
Период
Сортировка

Re: [pgsql-ru-general] статистика использования индексов

От
Teodor Sigaev
Дата:
Подойдет?

# select * from pg_stat_user_indexes ;
  relid | indexrelid | schemaname |      relname      |      indexrelname      |
idx_scan | idx_tup_read | idx_tup_fetch

-------+------------+------------+-------------------+------------------------+----------+--------------+---------------
  17178 |      17251 | public     | bayes_global_vars | bayes_global_vars_pkey |
        0 |            0 |             0
  17183 |      17253 | public     | bayes_seen        | bayes_seen_pkey        |
    48404 |        42992 |         42992


Dmitry E. Oboukhov wrote:
> есть БД в проекте который развивался некоторое время
> и соответственно допустим придумывали что-то новое: создавали под это
> дело индекс.
> потом где-то старые индексы позабыли удалить итп
>
> теперь в БД есть какие-то индексы, которые не используются при
> селектах, но занимают место на диске.
>
> есть возможность какая-то посмотреть статистику использования индексов
> чтобы поудалять ненужные?
>

--
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/


Re: [pgsql-ru-general] Re: [pgsql-ru-general] статистика использования индексов

От
Николай Кутрухин
Дата:
Приветствую.

> # select * from pg_stat_user_indexes ;

Или чуть более сложный вариант (правда здесь отталкиваемся не от
индексов, а от таблиц):

select relname, seq_scan, seq_tup_read, idx_scan, idx_tup_fetch,
       round(case when coalesce(idx_scan, 0) = 0 then 10000 else seq_scan::numeric / idx_scan end, 2)
from pg_stat_user_tables where schemaname = 'public' and
     seq_scan > 1000 and
     n_live_tup > 100
order by case when coalesce(idx_scan, 0) = 0 then 10000 else seq_scan::numeric / idx_scan end desc;



--
Ответ на письмо от 21 ноября 2014 г., 18:00:

> Подойдет?

> # select * from pg_stat_user_indexes ;
>   relid | indexrelid | schemaname |      relname      |      indexrelname      |
> idx_scan | idx_tup_read | idx_tup_fetch
>
-------+------------+------------+-------------------+------------------------+----------+--------------+---------------
>   17178 |      17251 | public     | bayes_global_vars | bayes_global_vars_pkey |
>         0 |            0 |             0
>   17183 |      17253 | public     | bayes_seen        | bayes_seen_pkey        |
>     48404 |        42992 |         42992


> Dmitry E. Oboukhov wrote:
>> есть БД в проекте который развивался некоторое время
>> и соответственно допустим придумывали что-то новое: создавали под это
>> дело индекс.
>> потом где-то старые индексы позабыли удалить итп
>>
>> теперь в БД есть какие-то индексы, которые не используются при
>> селектах, но занимают место на диске.
>>
>> есть возможность какая-то посмотреть статистику использования индексов
>> чтобы поудалять ненужные?
>>

> --
> Teodor Sigaev                                   E-mail: teodor@sigaev.ru
>                                                     WWW: http://www.sigaev.ru/




--
С уважением,
 Николай                          mailto:haar@list.ru