powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / idx_tup_fetch = 0
5 сообщений из 5, страница 1 из 1
idx_tup_fetch = 0
    #38599192
rinace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нагуглил селект для мониторинга индексов

SELECT indexrelname, idx_tup_read, idx_tup_fetch,
(idx_tup_read - idx_tup_fetch) as dif,
CASE
WHEN idx_tup_read = 0 THEN 0
ELSE round((idx_tup_read::float4 - idx_tup_fetch) / idx_tup_read*100)
END as ratio
FROM pg_stat_user_indexes
ORDER BY 5 desc;

В описании сказано, если idx_tup_fetch большое и разница между idx_tup_read и idx_tup_fetch большое то нужно сделать reindex.

Пытаюсь симитировать ситуацию , однако что бы не делал idx_tup_fetch всегда 0.

Просьба подказать - какие действия ведут к увеличиению значения idx_tup_fetch в pg_stat_user_indexes ?

Т.е. хочется воспроизвести следующею ситуацию :
1)Большое значение idx_tup_fetch
2)Выполнение REINDEX
3)малое значение idx_tup_fetch

Откуда появился вопрос.
У клиента имеется запрос вида :
select col2 , value from table1 where TRUE AND col1 = X AND (col2 between Y and Z );
и по словам клиента при некоторых значениях X , Y , Z время выполнения резко увеличивается.
Таблица проиндексирована по столбцам col1 , col2 .
План выполнения например такой :
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------
Bitmap Heap Scan on table1 (cost=2325.34..5079.09 rows=1045 width=16) (actual time=25.793..30.025 rows=978 loops=1)
Recheck Cond: ((col1 = 0.08::double precision) AND (col2 >= 0.1::double precision) AND (col2 <= 0.2::double precision))
-> BitmapAnd (cost=2325.34..2325.34 rows=1045 width=0) (actual time=25.588..25.588 rows=0 loops=1)
-> Bitmap Index Scan on table1_col1_indx (cost=0.00..193.68 rows=10300 width=0) (actual time=2.300..2.300 rows=9958 loops=1)
Index Cond: (col1 = 0.08::double precision)
-> Bitmap Index Scan on table1_col2_indx (cost=0.00..2130.90 rows=101447 width=0) (actual time=22.177..22.177 rows=100238 loops=1)
Index Cond: ((col2 >= 0.1::double precision) AND (col2 <= 0.2::double precision))
Total runtime: 30.217 ms
(8 rows)

Все что нагуглил вот это запрос и REINDEX.


Спасибо.
...
Рейтинг: 0 / 0
idx_tup_fetch = 0
    #38599218
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rinace,

сделайте индекс по (col1, col2) и будет вам счастье
...
Рейтинг: 0 / 0
idx_tup_fetch = 0
    #38599233
rinace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Bogukrinace,

сделайте индекс по (col1, col2) и будет вам счастье

А при чем тут idx_tup_fetch ?

База промышленная, размер терабайт с лишним
создание индекса операция весьма затратная .

Это решение как workaround сразу записано в план, но в даннмо случае инетересно именно idx_tup_fetch
...
Рейтинг: 0 / 0
idx_tup_fetch = 0
    #38599279
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rinaceПытаюсь симитировать ситуацию , однако что бы не делал idx_tup_fetch всегда 0.
Bitmap Index Scan не изменяет *_indexes.idx_tup_fetch

rinaceПросьба подказать - какие действия ведут к увеличиению значения idx_tup_fetch в pg_stat_user_indexes ?Нужен план с index scan'ом, без bitmap, например
Код: plaintext
 select  col2 , value from table1 where col1 = X
где col1 = X совпадает для малого количества строк.
...
Рейтинг: 0 / 0
idx_tup_fetch = 0
    #38599296
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rinace<>
2)Выполнение REINDEX
<>
База промышленная, размер терабайт с лишним
создание индекса операция весьма затратная .
операция REINDEX не менее затратная.
причём, я не видел пока в её синтаксисе кляузы concurrently
(при всех недостатках конкуррентли она, хотя бы не лочит всё что ни попадя))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / idx_tup_fetch = 0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]