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

Добрый день. Подскажите что почитать, как понять почему вполне легкий

запрос (который выполняется за 50мс) порождает жирный seq scan в системной таблице pg_catalog.pg_class ? Нагрузка процессора 100%, в топе гора idle процессов.

25 ответов

38 просмотров

Хорошая книжка.👆

Rashid
Хорошая книжка.👆

давайте без файлов тут, есть же ссылки

Ivan- Автор вопроса
Rashid
Хорошая книжка.👆

очень уж бесформенно, а чего-то более конкретного с описанием анализа производительности и применяемых инструментов нет ?

Начните с нашэго закрепа: https://t.me/pgsql/303899

Ivan- Автор вопроса

1. pg 15.4 2. SELECT * FROM docs.vw_docs_service_references 3. https://pastebin.com/6MPpLbny 4. https://pastebin.com/PreLNGvR при этом в autoexplain логе такое в этом момент появляется https://pastebin.com/HFqwxyWB

Ivan
1. pg 15.4 2. SELECT * FROM docs.vw_docs_service_r...

1. Это не то, что возвращает SELECT version();. 2. OK. 3. Я вполне уверен, что показанное — не результат \d+. 4. OK, но этот план не показывает проблемы, зато: > при этом в autoexplain логе такое в этом момент появляется Она явно вот тут. Разберитесь, что и зачем выдаёт вот это вот — вполне возможно, что этот запрос можно устранить целиком.

Ivan- Автор вопроса
Yaroslav Schekin
1. Это не то, что возвращает SELECT version();. 2....

Она явно вот тут. Разберитесь, что и зачем выдаёт вот это вот — вполне возможно, что этот запрос можно устранить целиком. решительно непонятно что порождает этот запрос. явный вызов системных таблиц не делается.

Ivan
Она явно вот тут. Разберитесь, что и зачем выдаёт ...

Ну а лог недвусмысленно говорит, что делается. Так что ищите.

Ivan
1. pg 15.4 2. SELECT * FROM docs.vw_docs_service_r...

3. Можно было догадаться, что у view потребуется что-нибудь ещё... \d+ , например. Впрочем, тут это неважно. ЭТОТ запрос выполняется достаточно быстро. Проблемы у вас где-то ещё (у какого-то фреймворка, который выдаёт вон те информацыонные запросы, которые видны в auto_explain).

Konstantin Zaitsev
Ну pg тож иногда чудит )

PostgreSQL никогда не выдаёт запросов сам себе (по собственной инициативе) по client-server protocol, так что... о чём это Вы?

Konstantin Zaitsev
Так это server-side и там выдает

Почему Вы решили, что это server side?

Yaroslav Schekin
Почему Вы решили, что это server side?

А почему вы решили обратное?))))

Konstantin Zaitsev
А почему вы решили обратное?))))

По очевидным причинам (Вы бы хоть в лог внимательно посмотрели). И почему Вы отвечаете вопросом на вопрос? ;)

Yaroslav Schekin
По очевидным причинам (Вы бы хоть в лог внимательн...

Ладно, я не прав, понятно что это npgsql ) но Postgres тож любит походить по таблицам)

Нет, не любит. Ещё раз, PostgreSQL никогда не выдаёт себе запросов по собственной инициативе. А те "хождения", которые выполняются для обработки обычных SELECT, в логах не видны.

Yaroslav Schekin
Нет, не любит. Ещё раз, PostgreSQL никогда не выда...

В логах или в statement? Давайте уж до конца посмотрим куда что пишет pg?

Konstantin Zaitsev
В логах или в statement? Давайте уж до конца посмо...

> В логах или в statement? Эээ... что?! > Давайте уж до конца посмотрим куда что пишет pg? Посмотрите, что ж.

Yaroslav Schekin
> В логах или в statement? Эээ... что?! > Давай...

Я смотрел) нормальные select по fk;) и тд

Konstantin Zaitsev
Я смотрел) нормальные select по fk;) и тд

В нормальных SELECT (а не UPDATE/INSERT/DELETE) по FK нет дополнительных запросов. И да, я написал именно "по собственной инициативе", зачем переходить на обсуждение каких-то других тем?

Yaroslav Schekin
В нормальных SELECT (а не UPDATE/INSERT/DELETE) по...

Нет перехода коллега. Это был очевидный пример.

Konstantin Zaitsev
Нет перехода коллега. Это был очевидный пример.

Есть. И не был. Если хотите спорить не с тем, что я написал — исключите меня из этого диалога, пожалуйста. ;) > что при выполнении select не будет в полной мере затронут словарь? Ещё раз: А те "хождения", которые выполняются для обработки обычных SELECT, в логах не видны. И да, они выполняются без запросов, на более низком уровне.

Yaroslav Schekin
Есть. И не был. Если хотите спорить не с тем, что...

Ну про низкий уровень спорить не буду, там и код был такой же )

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта