@pgsql

Страница 36 из 1062
Kirill
26.05.2016
14:38:41
легко explain ( costs false) with a as ( select 1, 2, 3 ), b as ( select 4, 5, 6 ), c as ( select 7, 8, 9 ) select * from a union all select * from c; QUERY PLAN --------------------- Append CTE a -> Result CTE c -> Result -> CTE Scan on a -> CTE Scan on c

как и джоины ненужные

Dmitrii
26.05.2016
14:39:57
Это я просто написал к вопросу о заверении "таблички в памяти"

Kirill
26.05.2016
14:43:53
пока он так далеко не заходит, насколько я знаю. он просто "материализирует" то что в cte запросе

Google
Stanislav
26.05.2016
14:47:49
а верно ли я понимаю, что отсечкой падения такой тмп-таблички из памяти на диск является work_mem параметр базы?

Kirill
26.05.2016
14:48:11
да

только он не просто базы, а может выставляться на сессию/юзера и т.д. индивидуально

Stanislav
26.05.2016
14:53:47
т.е. разработчик может поставить без участия админа в сессии work_mem = 1024 TB и факапнуть сервак, верно?

Kirill
26.05.2016
14:58:27
work_mem - не сколько он отчекрыжит сразу, а порог выше которого не полезет

и, как разработчик, могу вам сказать что "сервак факапнуть" мы можем не только воркмемом (им как раз менее вероятно) :) чего вы боитесь ?

Dmitry
26.05.2016
15:02:48
Принес 2 чая предыдущему оратору) Такое возмущение, как будто без этого у нас не было возможности все уронить, а тут появилась)

Stanislav
26.05.2016
15:28:05
Восхитительная база этот постгрес. Мечта хипстора. Пошел отговаривать коллег от него.

Kirill
26.05.2016
15:29:22
можно монгу попробовать, прости господи )

Dmitry
26.05.2016
15:29:30
Станислав, а Вы монгу видели?)

блин)

Stanislav
26.05.2016
15:29:54
Да, видел. У нас есть одна, хранит 4ТБ данных и ни гугу

Сущность, которая вообще не требует внимания админов

Google
Dmitry
26.05.2016
15:30:29
Ну если она молча их просто хранит - то да)

Kirill
26.05.2016
15:30:33
а чем вас постгрес испугал, кроме воркмема ?

Stanislav
26.05.2016
15:30:43
Ну как вам сказать, она постоянно пишет и раз в час ее читают

Kirill
26.05.2016
15:30:47
просто любопытно

Dmitry
26.05.2016
15:32:07
ну, я видел MS SQL, Oracle, PG, Mongo и что-то забыл, наверное восхищение вызывают 2: oracle & pg

oracle меньше

Stanislav
26.05.2016
15:32:27
Я, конечно не Саша Чистяков, работаю не в налоговой, но паттерн похожий - монгу дергают по айдишникам для сверки декларируемого с реальным в хранилище

Dmitry
26.05.2016
15:33:53
для такого сценария я бы тоже монгу взял

4тб это на гридфс?

Stanislav
26.05.2016
15:37:03
wiredtiger

MS SQL видел в продакшене настроенную пряморуким виндузятником, там вообще удивительная производительность для той жалкой железки, на которой оно работало

ни постгри, ни мускуль и рядом не стояли бы на том железе

Kirill
26.05.2016
15:42:10
не пробовал, но знаю (с)

Stanislav
26.05.2016
15:44:25
Правда, особых лулзов доставил его рассказ о том, что потолок производительности MS SQL ограничивается производительностью ... мультимедиа (!) таймера.

Dmitry
26.05.2016
15:52:00
Ооо - производительность MS SQL это песня)

у нас даже linq сишарповский работал почти быстро)

Alex
26.05.2016
15:58:15
чтот сегодня "иноверцев" тут многовато :)

Dmitry
26.05.2016
15:58:46
ненене) меня не надо метлой - я люблю pg)

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

Stanislav
26.05.2016
16:05:10
А чочо, постгри, стало быть, игрушка для богатых?

Google
Dmitrii
26.05.2016
16:05:57
Спецов меньше => Больше платят

Впрочем, везде так.

Pavel
26.05.2016
17:24:36
Постгрес

[Anonymous]
26.05.2016
17:24:54
)

Pavel
26.05.2016
17:25:09
Поребрик, шаверма и постгри

[Anonymous]
26.05.2016
17:25:45
постгр[ие]

Vadim
26.05.2016
17:26:47
Постгиэ

Eugene
26.05.2016
18:47:33
ребята, может кто продаёт свой Макбук про 15 с ретиной? Мой сдох, надо замену срочно

Sergey
26.05.2016
19:09:12
ИНтересно, кто-то из вас называл имена пг кластеров используя дефис имени? Сегодня наткнулись на проблему с обработкой имен кластеров, в которых как раз есть дефис. Systemd в *deb подобных системах отказывается запускать pg.

Dmitry
26.05.2016
19:21:34
Имена кластеров - это дебиановская дичь.

Просто ребята считают, что на машине должно быть несколько инсталляций пг одной версии, поэтому придумали main и прочее

Yury
26.05.2016
19:46:01
Systemd в топку, а несколько инсталяций pg гуд.

ultranoise ?
26.05.2016
20:23:37
у меня очень простой вопрос

задержки при селекте с большим кол-вом условий из одной таблицы с 1.5М записей -- норм?

мне верилось что постргрес не боится такого

Dzianis
26.05.2016
20:24:50
Простой ответ — без плана запроса тут на такие вопросы не отвечают )))

Aleksandr
26.05.2016
20:25:06
индексы индексы и workmem :)

Dzianis
26.05.2016
20:25:18
Что примерно EXPLAIN ANALYZE выдает?

ultranoise ?
26.05.2016
20:25:30
с буфферами?

Google
ultranoise ?
26.05.2016
20:27:23
HashAggregate (cost=127535.73..127535.74 rows=1 width=2) (actual time=7007.313..7007.314 rows=2 loops=1) -> Seq Scan on logs (cost=0.00..127532.54 rows=638 width=2) (actual time=7001.479..7007.265 rows=32 loops=1) Rows Removed by Filter: 1520815 Total runtime: 7007.538 ms

Dzianis
26.05.2016
20:27:38
Seq Scan !!!

Dmitrii
26.05.2016
20:27:47
Ну тут к гадалке не ходи...

ultranoise ?
26.05.2016
20:29:55
ну?) я немного совсем знаю о бд и это слава богу не продакшен база а петпроджект

кривые запросы или кривое хранение?

Dzianis
26.05.2016
20:30:14
Seq Scan — это последовательный проход по всем строкам таблицы. Видимо, какой-то индекс не создан.

Alex
26.05.2016
20:30:14
отсутствие индексов

ultranoise ?
26.05.2016
20:30:37
запрос Select count(*) as c, blablabla from table where and and and and group by order by limit

Dmitrii
26.05.2016
20:32:11
count в потгресе конечно подставный. Но тут как минимум надо обложиться индексами по where полям.

Admin
ERROR: S client not available

Dzianis
26.05.2016
20:32:21
По колонкам, что в where и group by желательны индексы нужных типов. Т.к. тут and, то можно даже составной индекс, возможно, сделать.

Dmitrii
26.05.2016
20:32:22
Может и облегчит ситуацию.

Смотря конечно какие филды. Если там булево поле - индекс на него будет как мертвому припарка.

ultranoise ?
26.05.2016
20:33:11
ну тут интересно -- у меня все в одной таблице (!) но там полей немного, около 10

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

Alex
26.05.2016
20:33:56
создай индексы по тем полям по которым запрос

Dzianis
26.05.2016
20:33:59
Начнем с другого. Настройки postgres из коробки?

ultranoise ?
26.05.2016
20:34:02
да

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

Dzianis
26.05.2016
20:34:24
Если из коробки, то сначала http://pgtune.leopard.in.ua/

Google
Алексей
26.05.2016
20:34:59
Dzianis
26.05.2016
20:35:08
Ну, по умолчанию postgresql настроен на работу на микроволновке.

Алексей
26.05.2016
20:35:10
db type

Dzianis
26.05.2016
20:35:53
shared_buffer и work_mem наверняка нужно править.

Алексей
26.05.2016
20:35:54
в виде выполните пару тройку запросов и на основании цифр я скажу кам какой это тип дб

Dzianis
26.05.2016
20:36:18
А дальше лучше всего почитать про индексы и почему они нужны.

Dmitrii
26.05.2016
20:37:03
О во щас спрошу такую тему... Давно меня мучает этот вопрос

Dzianis
26.05.2016
20:37:27
Без правильных индексов едет вычитывание всех строк, на настройках по умолчанию буффер маленький, вот и заметно, что скан долгий. Ведь Rows Removed by Filter: 1520815

Dmitrii
26.05.2016
20:37:31
Например мне надо выбирать из таблицы, и сортировать. Можно ли как то сложить данные, ну типа чтобы оно их сразу сортировало?

Примерно как redis sorted set.

Alex
26.05.2016
20:37:59
вряд ли

Dzianis
26.05.2016
20:38:12
Я могу тупить, но, наверное, да.

Dmitrii
26.05.2016
20:38:30
И как же?

ptchol
26.05.2016
20:38:31
так в редисе сортед сет есть потому что нет сорта не?)

Alex
26.05.2016
20:39:04
если только данные не изменяются от слова совсем... но и то очень .. неправильный кейс )

Dmitrii
26.05.2016
20:39:08
Да пофиг что там в редисе, так упомянул чтоб все поняли что я хочу )

Dzianis
26.05.2016
20:39:15
Если нам нужно сделать SELECT y FROM foo where x=..., то можно создать составной bree-индекс по (x, y).

Но для идеального случая важно, чтобы еще и направлении сортировки совпало.

Dmitrii
26.05.2016
20:40:06
Проблема в том, что в запросе будут LIMIT и OFFSET. А еще GROUP BY.

ultranoise ?
26.05.2016
20:40:13
спасибо за конфиг

пойду читать

Dmitrii
26.05.2016
20:40:28
Просто сортировать таблицу каждый раз выглядит туповатым занятием.

Страница 36 из 1062