172 похожих чатов

Всем привет. Выполняю один и тот же запрос на мастере,

синк реплике и асинк реплике.

explain (analyse, verbose, buffers)
select count(*), state
from megapm.transactions
where state in (1, 2, 5)
group by state;
Результаты:

Мастер
GroupAggregate (cost=0.38..5.37 rows=1 width=10) (actual time=13.695..14.307 rows=3 loops=1)
Output: count(*), state
Group Key: transactions.state
Buffers: shared hit=4053
-> Index Only Scan using transactions_state_updated_at_idx_not_final on megapm.transactions (cost=0.38..5.35 rows=1 width=2) (actual time=4.206..14.268 rows=94 loops=1)
Output: state, updated_at
Index Cond: (transactions.state = ANY ('{1,2,5}'::integer[]))
Heap Fetches: 214
Buffers: shared hit=4053
Planning:
Buffers: shared hit=28
Planning Time: 1.155 ms
Execution Time: 14.394 ms

синк реплика:
GroupAggregate (cost=0.38..5.37 rows=1 width=10) (actual time=2563.073..2569.132 rows=2 loops=1)
Output: count(*), state
Group Key: transactions.state
Buffers: shared hit=619674
-> Index Only Scan using transactions_state_updated_at_idx_not_final on megapm.transactions (cost=0.38..5.35 rows=1 width=2) (actual time=1197.508..2569.044 rows=75 loops=1)
Output: state, updated_at
Index Cond: (transactions.state = ANY ('{1,2,5}'::integer[]))
Heap Fetches: 630564
Buffers: shared hit=619674
Planning:
Buffers: shared hit=186
Planning Time: 10.355 ms
Execution Time: 2569.679 ms

асинк реплика:
GroupAggregate (cost=0.38..5.37 rows=1 width=10) (actual time=678.281..680.183 rows=3 loops=1)
Output: count(*), state
Group Key: transactions.state
Buffers: shared hit=619963
-> Index Only Scan using transactions_state_updated_at_idx_not_final on megapm.transactions (cost=0.38..5.35 rows=1 width=2) (actual time=344.970..680.140 rows=100 loops=1)
Output: state, updated_at
Index Cond: (transactions.state = ANY ('{1,2,5}'::integer[]))
Heap Fetches: 630820
Buffers: shared hit=619963
Planning:
Buffers: shared hit=145
Planning Time: 1.686 ms
Execution Time: 680.223 ms
Вижу существенные различия в Heap Fetches и shared hit.
Как так получилось? И как этого избежать?

2 ответов

16 просмотров

Я вот вижу существенные различия в результате (rows=3 vs rows=2) — вот это и смотрите, как там получилось. Но, на самом деле, по дефолту синк реплика только принимает WAL синхронно (чтобы потом догнаться), отставать она можэт на сколько угодно.

Ilya Anfimov
Я вот вижу существенные различия в результате (row...

Я их не одновременно запускал, но с разницей не больше минуты. Эти записи меняются активно и в какой-то момент со state = 1 вполне могло быть 0 строк. Но в то же время общее количество строк не больше 100, и отставание реплики не объясняет почему на мастере Heap Fetches: 214 Buffers: shared hit=4053 а на репликах Heap Fetches: 630564 Buffers: shared hit=619674 Вакуум же только на мастере должен работать?

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Карта сайта