Size: a a a

pgsql – PostgreSQL

2020 June 30

👨n

👨🏼‍💻 Pírαt neωTíme 🛩... in pgsql – PostgreSQL
Yaroslav Schekin
Я как-то сомневаюсь, что это так, даже судя просто по описанию, извините. ;(
Если бы Вы показали какие-то запросы / планы / индексы на исходной таблице, было бы о чём говорить...
Мне кажется, Вы просто сделали "вывод" по принципу "после этого — значит, вследствие этого".
Т.е. Вам "разбиение" просто заменило vacuum (а если его долго не было, bloat мог быть очень существенным), отсюда все "преимущества".
☹️ нам нужен нормальный дба в команду... мой мозг взорвётся и с базой и с кодом разбираться...
источник

👨n

👨🏼‍💻 Pírαt neωTíme 🛩... in pgsql – PostgreSQL
на последок можешь быстренько подсказать как тут указать правило для 1 значения, а не диапазона? чет никак не увижу... сейчас в гугл пойду искать примеры х)
источник

AM

Anton Malchikov in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... а конкретнее? Можете показать запросы / планы, например?
грубо говоря
SELECT * FROM "table" WHERE "table"."field"::text LIKE '%abcdefgh%';

отработает быстрее чем
SELECT * FROM "table" WHERE "table"."field"::text LIKE '%абвгдежз%';

причем  EXPLAIN ANALYZE показывает разницу раза в полтора в моем случае
источник

Z

ZHU in pgsql – PostgreSQL
postgres=# CREATE EXTENSION dblink;
ОШИБКА:  не удалось открыть управляющий файл расширения "/usr/pgsql-12/share/extension/dblink.control": Нет такого файла или каталога
как исправить эту ошибку в centos ?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Anton Malchikov
грубо говоря
SELECT * FROM "table" WHERE "table"."field"::text LIKE '%abcdefgh%';

отработает быстрее чем
SELECT * FROM "table" WHERE "table"."field"::text LIKE '%абвгдежз%';

причем  EXPLAIN ANALYZE показывает разницу раза в полтора в моем случае
Я ничего такого не вижу (в простых тестах).
Может, там тупо строка '%абвгдежз%' частично совпадает в многих rows, а '%abcdefgh%' — нет? ;)
источник

АФ

Артур Федоров... in pgsql – PostgreSQL
ZHU
postgres=# CREATE EXTENSION dblink;
ОШИБКА:  не удалось открыть управляющий файл расширения "/usr/pgsql-12/share/extension/dblink.control": Нет такого файла или каталога
как исправить эту ошибку в centos ?
а contrib ставили?
источник

Z

ZHU in pgsql – PostgreSQL
Артур Федоров
а contrib ставили?
да
источник

Z

ZHU in pgsql – PostgreSQL
Артур Федоров
а contrib ставили?
спасибо решил! кажись надо было перезагруизть постгрес
источник

AM

Anton Malchikov in pgsql – PostgreSQL
Yaroslav Schekin
Я ничего такого не вижу (в простых тестах).
Может, там тупо строка '%абвгдежз%' частично совпадает в многих rows, а '%abcdefgh%' — нет? ;)
ну в моем случае ни одна из строк найдена не была, так что данный вариант, полагаю, не вариант. Я не большой знаток постгреса, тут случаем какого-нибудь приведения типов нет?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
👨🏼‍💻 Pírαt neωTíme 🛩
на последок можешь быстренько подсказать как тут указать правило для 1 значения, а не диапазона? чет никак не увижу... сейчас в гугл пойду искать примеры х)
Для конкретных значений используется LIST partitioning (там где-то были примеры, кажется).
Но странно, что это Вам нужно...
источник

Z

ZHU in pgsql – PostgreSQL
ZHU
спасибо решил! кажись надо было перезагруизть постгрес
блин ругается на права теперь
источник

👨n

👨🏼‍💻 Pírαt neωTíme 🛩... in pgsql – PostgreSQL
Yaroslav Schekin
Для конкретных значений используется LIST partitioning (там где-то были примеры, кажется).
Но странно, что это Вам нужно...
неа, только описание
источник

👨n

👨🏼‍💻 Pírαt neωTíme 🛩... in pgsql – PostgreSQL
Yaroslav Schekin
Для конкретных значений используется LIST partitioning (там где-то были примеры, кажется).
Но странно, что это Вам нужно...
а что странного? у нас есть конкретные ключи по столбцу currency, никакого диапазона, это уже второстепенно может быть разбивка по какому-то диапазону, но первоначальная - это currency
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Anton Malchikov
ну в моем случае ни одна из строк найдена не была, так что данный вариант, полагаю, не вариант. Я не большой знаток постгреса, тут случаем какого-нибудь приведения типов нет?
Да нет же, не в строках может быть дело, а в подстроках.
Вот, к примеру, я сейчас попробовал на таблице, где каждая строка содержит большой кусок искомой — и это где-то в 1.5 раза медленнее, чем поиск хоть с русскими, хоть с латинскими в LIKE (при тех же длинах и т.п.), где совпадающих подстрок нет.
источник

AM

Anton Malchikov in pgsql – PostgreSQL
Yaroslav Schekin
Да нет же, не в строках может быть дело, а в подстроках.
Вот, к примеру, я сейчас попробовал на таблице, где каждая строка содержит большой кусок искомой — и это где-то в 1.5 раза медленнее, чем поиск хоть с русскими, хоть с латинскими в LIKE (при тех же длинах и т.п.), где совпадающих подстрок нет.
то есть грубо говоря чем быстрее вариант отброшен, тем выше производительность?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
👨🏼‍💻 Pírαt neωTíme 🛩
а что странного? у нас есть конкретные ключи по столбцу currency, никакого диапазона, это уже второстепенно может быть разбивка по какому-то диапазону, но первоначальная - это currency
Только то, что это редко бывает нужно (т.е. LIST — это для более-менее фиксированного / стабильного набора значений).
источник

AM

Anton Malchikov in pgsql – PostgreSQL
а если вариант похож, то проверяется больше символов
источник

👨n

👨🏼‍💻 Pírαt neωTíme 🛩... in pgsql – PostgreSQL
Yaroslav Schekin
Только то, что это редко бывает нужно (т.е. LIST — это для более-менее фиксированного / стабильного набора значений).
ну да, так и есть, надо только понять как правильно писать его)
источник

👨n

👨🏼‍💻 Pírαt neωTíme 🛩... in pgsql – PostgreSQL
новые значения крайне редко добавляются
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Anton Malchikov
то есть грубо говоря чем быстрее вариант отброшен, тем выше производительность?
Казалось бы, да (Вы сами попробуйте).
Я не помню, как там LIKE '%что-то%' "внутри" обрабатывается (кажется, преобразуется в regexp и т.п., но могу ошибаться)...
источник