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

Ладно шутки в сторону ))) > Можно ли запретить HOT-update на

определённой таблице?

а вам зачем?

14 ответов

21 просмотр

Есть мелкая горячая табличка с каунтерами и если сбоку пустить длинную транзакцию - таблица пухнет. Приложение достало counter, увеличило на 1. При этом время select'а по ней растёт линейно. Хочу проверить гипотезу что честный index modification будет суммарно для приложения дешевле чем скачки по HOT-цепочке.

Alexey-Lesovsky Автор вопроса
Sergey Gr
Есть мелкая горячая табличка с каунтерами и если с...

скачки по hot-цепочке делаются внутри странички в памяти - это по сути cputime, а вот index modification это честный iotime - который медленее чем работа cpu, быстрее быть не должно. но гипотезы на то и есть чтобы их подтверждать или опровергать))) случай с апдейтом значения в пк должен делать облом hot, так что можно попробовать

Alexey Lesovsky
скачки по hot-цепочке делаются внутри странички в ...

Но эффективно-то update pk не произойдёт. Постгрес это пронюхает и пойдёт по HOT-варианту или будет тупо менять индекс?

Дорожэ будет, поскольку оба тапла придётся через индэкс доставать.

Ilya Anfimov
Дорожэ будет, поскольку оба тапла придётся через и...

Ну так 2 тапла, ну 4 блока максимум, а не 8M heap'а по HOT chain просматривать

Alexey Lesovsky
да вы правы, hot anyway

Спасибо огромное! Пойду проиндексирую всё вдоль и поперёк.

Alexey-Lesovsky Автор вопроса
Alexey Lesovsky
скиньте хоть цифры потом сюда)))

Спецмифический случай, но попробую.

Sergey Gr
Ну так 2 тапла, ну 4 блока максимум, а не 8M heap'...

И да, основная причина того, что в постгресе нет способа запретить HOT UPDATE -- это то, что HOT UPDATE, когда возможэн, просто во всём быстрее классического UPDATE.

Alexey Lesovsky
скиньте хоть цифры потом сюда)))

Это average time с точки зрения приложения. В 15 часов с HOT, в 16:20 с индексом на (id, counter). С точки зрения Postgres в обоих случаях oldest xid переваливает за 2-3 миллиона и размер таблички раздувает с 80к до 10Mb

Alexey Lesovsky
время на оси y в ms?

Нет, в секундах. Нормальное время выполнения 50-60ms

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта