@pgsql

Страница 906 из 1062
Ilia
27.07.2018
14:24:42
Например, таблица 10 млн записей, флаг isProcessed = fasle имеет 100 записей из этих 10 млн. Индекс будет полезен и будет работать для условия isProcessed = false При этом конечно стоит по условию делать опциональный индекс (или фукнциональный). Я правда не знаю, как PG умеет ли такое.

Evgeniy
27.07.2018
14:28:59
partial называется, умеет

Ilia
27.07.2018
14:31:25
Тогда это отлично подойдёт для такого индекса.

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

Google
Mike Chuguniy
27.07.2018
14:35:40
на boolean столбцы имеет смысл индекс делать?
Нет. Имеет смысл делать условный индекс на более другие столбцы с условием по булевсскому. По полю field1 where bool_filed = true

Нет - это конечно, грубовато, но тем, не менее...

Нет. Имеет смысл делать условный индекс на более другие столбцы с условием по булевсскому. По полю field1 where bool_filed = true
Я таким макаром убивал пару индексов, создавал один и получал из 500+ мс на горячую, пару минут на холодную, 50 мс на холодную и 15+- мс на горячую.

Volodymyr Kostyrko
27.07.2018
18:32:35
А в логи можно писать количество возвращаемых строк.

Anton [Mgn, az09@osm]
28.07.2018
04:52:25
А в логи можно писать количество возвращаемых строк.
explain можно записывать. но кажется нужен экстеншен для этого

Onegai
28.07.2018
06:49:17
Подскажите, пожалуйста, что-то сам туплю

Как получить значения из столбца alias, которым соответствуют userid, которые, в свою очередь взяты из другой таблицы

кажется непонятно объяснил ?

В общем, есть таблицы Participants, и UserAliases. Нужно из таблицы Participants взять UserId, и найти соответствующие этим id alias в таблицt Useraliases

как бы сквозной запрос

select Userid from Participants where ChatId=17

получаем список userid. А как из него получить alias, из другой таблицы?

Что-то типа такого select UserAliases.alias where UserAliases.userid=Participants.userid where Participants.ChatId=17

Google
Onegai
28.07.2018
07:25:36
Вроде подразобрался

select alias from UserAliases where UserId=(select Participants.Userid from Participants where ChatId=17)

Но выводит только одно значение

Mike Chuguniy
28.07.2018
07:30:32
@onegai ключевое слово для поиска нужной информации - JOIN. А если одно значение - посмотрите глазками, вполне может оказаться, что оно именно одно.

Onegai
28.07.2018
07:31:24
Mike Chuguniy
28.07.2018
07:32:53
ЗЫ. Хотя ПГ достаточно умный, чтобы планы запросов с JOIN или подзапросом были идентичными.

Onegai
28.07.2018
07:38:53
select Alias from UserAliases, Participants where UserAliases.UserId=Participants.Userid and Participants.ChatId=17

Вот так получилось ? Вроде правильный результат выдает ?

The
28.07.2018
10:05:57
ребятки, есть кейсы когда uuid как PK лучше не юзать?

читаю везде, говорят что работают превосходно, разве что весят чуть больше и джойнятся чуть дольше, и нельзя делать ORDER BY id;

Volodymyr Kostyrko
28.07.2018
11:07:09
Смысла просто не будет. Хотя его и так нет. Если они в тосте то индекс всё равно небольшой. Вот сравнение кончно и сохранение, уникальность будет дольше...

Ilia
28.07.2018
21:55:42
Akylai
29.07.2018
02:26:56
Akylai M: Добрый день всем , я извеняюсь за тупой вопрос но у меня стоит задача написать запрос ,для вывода сводной таблицы я раньше выводила подобное но на постгресс что то все время не получается Необходимо вывести количество транзакций за определенный период



Akylai M: пишу такой запрос он определяет лишь колисчество но вот по статусу но вотт функцию со временем сюда не могу довписать типо такого должно получиться



Alex
29.07.2018
02:40:26
Где в запросе date?

Akylai
29.07.2018
02:45:20
Вот я не знаю кужа егу засунуть

Куда

Art
29.07.2018
05:27:28
этой книжки достаточно будет для нормальной работы с постгресом на реальных проектах? Или еще есть что прочитать? https://postgresql.leopard.in.ua/images/cover-62ab3a7e.jpg

Google
Mike Chuguniy
29.07.2018
05:31:14
@artnv я бы рекомендовал начать с курсов postgrespro: https://postgrespro.ru/education/courses

Art
29.07.2018
05:40:23
спасибо конечно, но остальное как-то без курсов осилил, думаю и это тоже можно

Anton [Mgn, az09@osm]
29.07.2018
05:42:42
Pivot какой-нибудь? С кубами. Сложно короче

Виктор
29.07.2018
05:55:20
этой книжки достаточно будет для нормальной работы с постгресом на реальных проектах? Или еще есть что прочитать? https://postgresql.leopard.in.ua/images/cover-62ab3a7e.jpg
Вполне. Конечно, практический опыт никто не отменял, для принятии максимально правильного решения по имеющейся информации/знаниям.

Art
29.07.2018
05:59:06
да там она бесплатная еще и в пдф и в хтмл epub

Konstantin
29.07.2018
05:59:17
Океюшки

Art
29.07.2018
06:00:32
Океюшки
https://postgresql.leopard.in.ua/

Виктор
29.07.2018
06:01:21
В большистве случаев решается на уровне приложения. Допустим под .NET есть мощный инструмент nreco, под python - pandas и т.д.

wonser
29.07.2018
07:18:13
Подскажите, как поведет себя btree index, если будет много дубликатов Скажем такая таблица table chat(id bigserial, accountId int, name text) Если сделаю индекс по колонке accountId В случае поиска понятно, будет импрувмент, а при инсерте, апдейте, удалении базе прийдется проходить полностью по всем узлам с одинаковым значением? Имет ли смысл сделать индекс на две колонки (accountId, id)?

Denis
29.07.2018
07:24:14
одно уникальное значение - один узел дерева

поэтому нет, не придется обходить все

wonser
29.07.2018
07:25:32
одно уникальное значение - один узел дерева
Но там же не уникальные значения, а в индексе хранятся rowid с хипа?

Denis
29.07.2018
07:25:58
но вы же спрашивали про дубликаты, или я не понял?

окей, я понял

ладно, утвеждать не возьмусь, может, коллеги подскажут

wonser
29.07.2018
07:28:37
но вы же спрашивали про дубликаты, или я не понял?
Да, я имею в виду не уникальный индекс, т.е. Много записей для каждого аккаунта

Denis
29.07.2018
07:29:24
просто мне показалось неоптимальным перебирать все rowid, если известно, что они относятся к одному и тому же значению поля, и я верю, что база это учитывает

The
29.07.2018
07:58:24
Есть таблица такая: id uuid PK seller_id uuid REFERENCES seller(id) status state DEFAULT 'new' -- state - кастомный тип ENUM ... Можно ли как-то сделать такой констрейнт, чтобы в таблице могла быть только одна запись со status = 'new' для каждого seller_id. При этом, остальные status, например 'send', 'paid' и т.д., может быть много для одного и того же seller_id?

Google
The
29.07.2018
08:04:03
разве это не создаст уникальный индекс по всему столбцу state?

Admin
ERROR: S client not available

The
29.07.2018
08:04:22
сейчас попробую, спасибо

wonser
29.07.2018
08:30:15
сейчас попробую, спасибо
Должно сработать https://www.postgresql.org/docs/9.6/static/indexes-partial.html

Example 11-3. Setting up a Partial Unique Index

The
29.07.2018
08:31:23
ну я пока DDL описываю, данными не заливал, т.к. там куча REFERENCES. но в ддлке прописалось, и я уже натыкался на такой вариант, но по тупости не увидел что там есть ON table(column)

так что думаю будет работать :)

The
29.07.2018
08:53:41
да, я уже понял)

Dmitry
29.07.2018
09:53:48
этой книжки достаточно будет для нормальной работы с постгресом на реальных проектах? Или еще есть что прочитать? https://postgresql.leopard.in.ua/images/cover-62ab3a7e.jpg
Прекрасная (fine) документация к Постгресу, главы 1-13, главы 37, 38 и 42 (для версии 10) - и можно приступать к любому проекту. Остальные знания будут появляться с опытом.

Andrey
29.07.2018
10:34:43
но там много практики полезной

именно чтобы быстро войти в тему

Yaroslav
29.07.2018
10:57:11
этой книжки достаточно будет для нормальной работы с постгресом на реальных проектах? Или еще есть что прочитать? https://postgresql.leopard.in.ua/images/cover-62ab3a7e.jpg
Книга так себе, IMHO. Я вообще хороших и актуальных на русском не видел. Вместо книг лучше с документации начать.

Fike
29.07.2018
10:58:33
где ожидать ошибки - да

Dmitry
29.07.2018
10:59:21
Да, в программировании.

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

Google
Yaroslav
29.07.2018
11:00:50
Ну а я бы сказал — наборот. Отрасль в целом переполнена недоучками-"практиками", IMHO.

Dmitry
29.07.2018
11:01:35
И толк от них околонулевой.

Darafei
29.07.2018
11:02:10
вполне есть толк, только они компиляторы всякие пишут

Dmitry
29.07.2018
11:02:36
вполне есть толк, только они компиляторы всякие пишут
Теоретики ничего не пишут. Они только говорят и поучают.

Yaroslav
29.07.2018
11:02:57
Эээ... что именно вы называете "отраслью", в таком случае?

Dmitry
29.07.2018
11:03:19
Ну и читают "труды" друг друга. И ходят вокруг дуба по цепи ))

Dmitry
29.07.2018
11:04:59
Эээ... что именно вы называете "отраслью", в таком случае?
Реальный результат разработки. У теоретиков нет реальных результатов. У них одни бла-бла.

Yaroslav
29.07.2018
11:05:09
Теоретики ничего не пишут. Они только говорят и поучают.
Кто был соавтором реализации SSI в PostgreSQL, вы не в курсе? Без этой "бесполезной теории" PostgeSQL до сих пор был бы не-ACID СУБД (как Oracle). И вообще, многие "теоретики" много чего написали (в смысле программ), кстати, но мы их любим не только за это. :)

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