Коллеги, не сталкивались с PG с ситуацией, когда analyze, на

большой таблице (50млн строк) ломает план запроса?
Т.е. делаешь реиндекс - все ок, обновляешь статистику по таблице - все плохо.

11 ответов

30 просмотров

Не подскажите откуда скрин?

Дмитрий-Комаров Автор вопроса
Dmitriy Ilyn
Не подскажите откуда скрин?

Это тензора сервис. Пользуюсь несколькими: https://explain.tensor.ru https://explain.dalibo.com https://explain.depesz.com

Запрос вроде небольшой - скиньте планы текстом, а то на скринах не все видно...

Большое количество строк. Планировщик принимает решение обходить все строки ввиду большого их количества. Есть настройки в conf постгреса . Но строк много планировщик будет игнорить индексы.

Дмитрий-Комаров Автор вопроса
Александр Еременчук
Запрос вроде небольшой - скиньте планы текстом, а ...

Заменил ссылку, добавил еще план запроса по быстрому варианту после реиндекса

Дмитрий-Комаров Автор вопроса
Evgeny Morozov
Большое количество строк. Планировщик принимает ре...

Как тогда понимать, когда делаешь реиндекс, т.е. ПГ пересоздал индексы и сделал аналайз+статистику и план дает быстрый, но делаешь ручной аналайз и в план прилетает лишний NL? Запрет NL проблему конкретно этого плана решает, на сама база начнет работать в других запросах медленней.

Дмитрий Комаров
Как тогда понимать, когда делаешь реиндекс, т.е. П...

Так можно nl запретить только на этот запрос. Хотя это плохой вариант, конечно.

Дмитрий Комаров
Как тогда понимать, когда делаешь реиндекс, т.е. П...

Кстати, а нет ли чего странного с табоицэй _inforg23326 ? Лежыт на hdd? Активно обновляется в процэссе запроса? Давно не реиндэксировалась? Реально селективность индэкса _inforg23326_1 невелика, тысячи записей с одинаковыми остальными полями индэкча и _fld23332=true ? Там какое-то ненормальное кмк время доступа к ней в случае nested loop.

Дмитрий Комаров
Как тогда понимать, когда делаешь реиндекс, т.е. П...

Ну и, хорошо бы посмотреть что после analyze так меняется в оцэнках. Там видно, что правильный план даёт cost миллион, неправильный — два милииона. Значит, что-то случилось с оцэнкой правильного, что она подросла, кроме прочего. Хотя, конечно, оцэнка в два миллиона на 900 секунд — тожэ выглядит ошыбкой.

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

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

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
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
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
Решил тут попробовать embassy на bluepill. Все установил, собрал blink и успешно залил с помощью St link 2 китайского. Но после этого чип шиться перестал. На форумах прочел, ч...
Lukutin R2AJP
6
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Карта сайта