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

> Имею в виду — получите близкий к правдоподобному план

и им и занимайтесь.

В чём измерять близость к правдоподобию? я этот топик начал с того что хочу получить "близкий" к правдоподобию запрос

> Вы думаете, что он будет существенно другим, чем правильный? А почему?
Это же можно сказать, если хотя бы на какие-то планы посмотреть...

Потому что если я не могу исключить этого, я должен это проверить. я должен увидеть где именно тайминг просел. В остальных ситуациях я вижу дерево которое выполняется за десятки миллисекунд.

> Да из плана же! Может, он совершенно не оптимален, и "танцевать" вокруг него с точными измерениями I/O просто не нужно?

я не имею обширного опыта, но иду обычно по цене или времени узла. если время и цена узла меня полностью устраивает в существующих "правильных" планах запроса. каким образом требуется определять неоптимальность? увы план не могу выложить, там может проскочить ПД (ну только если затирать)

> Они будут отталкиваться от того, что я увижу в плане.

Всё тот же аргумент, цена и время в имеющихся планах меня устраивает.

9 ответов

5 просмотров

> В чём измерять близость к правдоподобию? Это, опять-таки, можно увидеть по плану. Может быть, планирование этого запроса очевидно чувствительно к значениям параметров? А может, там читается так мало buffers, что такой проблемы в этом просто не может быть? И т.д. и т.п. > я вижу дерево которое выполняется за десятки миллисекунд. Показали бы Вы план уже, что ли... ;) > но иду обычно по цене или времени узла. И всё это при оптимизации запросов зачастую практически неважно. Вот точность оценок и buffers hit/read обычно куда интереснее. > увы план не могу выложить, там может проскочить ПД На https://explain.depesz.com/ есть: "I want this plan to be obfuscated before saving. (Note that this makes plans much harder to understand for others, so use only when absolutely necessary.)" > Всё тот же аргумент, цена и время в имеющихся планах меня устраивает. Может быть, в них не так что-то другое, см. выше.

Vladimir- Автор вопроса
Yaroslav Schekin
> В чём измерять близость к правдоподобию? Это, ...

Кстати, пока с вами обсуждали я смог поймать более менее "близкий" к долгому запрос. План с лёгкой просадкой: https://explain.depesz.com/s/oVgm каким план предстаёт в 95% https://explain.depesz.com/s/UKiQ

Vladimir
Кстати, пока с вами обсуждали я смог поймать более...

План, по сути, тот же. И buffers используется там мало. А проблема была в чём, конкретно (насколько он тормозил)? А индекс Вы этот подозревали? -> Index Scan using victor_two on victor_india oscar (cost=0.56..2.79 rows=1 width=156) (actual time=6.153..6.154 rows=1 loops=1) Index Cond: (((alpha)::text = 'uniform_charlie'::text) AND (golf_four = 2) AND (yankee_mike = 1) AND (papa = 1)) Buffers: shared hit=2 read=3 dirtied=1 I/O Timings: read=5.983 т.е. это ожидаемо?

Vladimir- Автор вопроса
Yaroslav Schekin
План, по сути, тот же. И buffers используется там...

Да подозреваю этот индекс. он часть индекса партиционированной таблицы. на индексах этой таблицы достаточно много read (относительно других таблиц в кластере) Тормозить может до 5 секунд, если верить pg_stat_statements

Vladimir
Да подозреваю этот индекс. он часть индекса партиц...

> Тормозить может до 5 секунд, если верить pg_stat_statements А ведь не должно такого быть, казалось бы. Т.е. 5 секунд на чтение, грубо, 0.5Мб как-то многовато (что это за диск), нет? Т.е. либо с ним что-то не так, либо есть мешающая конкурентная нагрузка (блокировки с каким-то DDL, может быть? Или locks временами не хватает, если там много partitions?). Тем не менее, допустим даже, что он "не виноват". Тогда придётся либо снижать размер читаемого, либо давать больше памяти, опять-таки.

Vladimir- Автор вопроса
Yaroslav Schekin
> Тормозить может до 5 секунд, если верить pg_stat...

Это виртуалка в openstak под ногами скорее всего hdd. Увы в сторону дисков меня толкали показатели pg_stat_statments где от total_time времени выполнения до 60% доходило время blk_read_time с дисков.

Vladimir
Это виртуалка в openstak под ногами скорее всего h...

> Это виртуалка в openstak под ногами скорее всего hdd. Понятно. Тогда может быть, в принципе. > до 60% доходило время blk_read_time с дисков. Ну да, это намекает. ;) По мониторингу остального уже подсказали, вроде бы... > пики дисков не совпдают с пиками задержек. Да, это несколько странно, но тоже может быть. В любом случает, в плане поиска решения пути всё те же.

Yaroslav Schekin
План, по сути, тот же. И buffers используется там...

А на что подозревают индекс? На "разбухание"? И как понять, что должно быть ожидаемо?)

Aleksey Stavrov
А на что подозревают индекс? На "разбухание"? И к...

Если я правильно понял, то на "случайные" чтения. Т.е. доступ происходит почти ко всем страницам индекса, а не локализуется, как чаще всего бывает.

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

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

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Дорогие любители Прекрасной Джулии! Есть кто-то имеющий практический опыт построения ML для Систем Управления? Нам нужно сделать нейросеть для автоматической подстройки пара...
Roman Timo
4
С той же поддержкой Android в тулчейне, если кому интересно. На Swift Forums шло убогое обсуждение всякой херни годами, но ничего годного так и не появлялось. Пришел vgorloff ...
iMike
1
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Приветствую ребята,у меня база есть,прорешал много задач с литкода,там деревья,списки, бэктрэкинг и все остальное,что мне сейчас делать?есть может куда устроиться поработать,е...
Aקuст Lеתסuд Aקuст Lеתסuд
5
Всех приветствую. Направьте меня в нужное русло. Постепенно переписываю проект с delphi на lazarus. Приложение - обычный windows/linux клиент для бд firebird. Тут все хорошо. ...
Mishutka
7
Карта сайта