Size: a a a

pgsql – PostgreSQL

2021 March 27

D

Dmitriy in pgsql – PostgreSQL
Но минус - да, связанные руки в плане возможностей SQL
источник

PM

Pavel Mellonges® in pgsql – PostgreSQL
понял, спасибо
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy
Если говорить не о Sequelize, а о всяких ORM и квери-билдерах в целом, то это удобно, когда у тебя эндпоинт, где есть огромная гора вариантов фильтрации, которые могут приводить ко всяким дополнительным подзапросам, джойнам и т.п. Да, можно SQL-запрос собирать в виде строки вручную в зависимости от переданных в фильтре параметров, но когда число таких параметров становится большим, возникают проблемы.
там еще проблемы от индексов частенько возникают, и в орм с этим  бывает туговато, как и с анализом запросов
источник

D

Dmitriy in pgsql – PostgreSQL
Ð
там еще проблемы от индексов частенько возникают, и в орм с этим  бывает туговато, как и с анализом запросов
Не очень понял, какие проблемы с индексами. Индексы с ORM вообще никак не связаны. А что касается анализ запросов, то у любой ORM есть возможность вывода запросов текстом в stdout или в логи. Если внезапно такой возможности нет (я такие ORM правда не встречал), то всегда можно включить логи запросов на уровне PostgreSQL. При локальной разработке просто включаете этот вывод, смотрите SQL запрос и проверяете его через EXPLAIN (ANAYLYZE, BUFFERS)... Соответственно, если нужны индексы, то делаете миграцию с созданием нужного индекса. То есть индексы никак не связаны с ORM или квери-билдерами. Единственное, в Django есть всякие db_index=True на уровне моделей (это использовать не обязательно, кстати), которые позволяют автоматически генерировать миграции для создания индексов. Но работает это лишь в очень простых случаях.
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy
Не очень понял, какие проблемы с индексами. Индексы с ORM вообще никак не связаны. А что касается анализ запросов, то у любой ORM есть возможность вывода запросов текстом в stdout или в логи. Если внезапно такой возможности нет (я такие ORM правда не встречал), то всегда можно включить логи запросов на уровне PostgreSQL. При локальной разработке просто включаете этот вывод, смотрите SQL запрос и проверяете его через EXPLAIN (ANAYLYZE, BUFFERS)... Соответственно, если нужны индексы, то делаете миграцию с созданием нужного индекса. То есть индексы никак не связаны с ORM или квери-билдерами. Единственное, в Django есть всякие db_index=True на уровне моделей (это использовать не обязательно, кстати), которые позволяют автоматически генерировать миграции для создания индексов. Но работает это лишь в очень простых случаях.
а ты эти запросы видел? там жесть че бывает
источник

Ð

Ð in pgsql – PostgreSQL
я долбался с ними и это было больно
источник

D

Dmitriy in pgsql – PostgreSQL
Ð
а ты эти запросы видел? там жесть че бывает
Смотря как пользоваться ORM. Если юзать всякие findBy и лэзи-лоадинг, то, конечно, жесть. Если использовать квери-билдер, то такой проблемы нет, ведь явным образом запрос строится select(...)->where(...)->leftJoin(...)...
источник

D

Dmitriy in pgsql – PostgreSQL
Ð
я долбался с ними и это было больно
А строку конкатенировать руками, когда фильтров 20 опциональных, не больно?)
источник

Ð

Ð in pgsql – PostgreSQL
если вместо орм юзать квери билдер, то никакой разницы с скл нет, кроме того, что тебе требуется выучить еще один весьма ограниченный язык нотации этого билдера вместо скл.
источник

Ð

Ð in pgsql – PostgreSQL
ну и разгрести костыли вставленные братишками когда этого языка было не достаточно
источник

D

Dmitriy in pgsql – PostgreSQL
Ð
если вместо орм юзать квери билдер, то никакой разницы с скл нет, кроме того, что тебе требуется выучить еще один весьма ограниченный язык нотации этого билдера вместо скл.
Разница есть очень большая. Во-первых, есть маппер на объекты, во-вторых, нет боли и страданий, когда куча опциональных условий фильтрации (например, список товаров интернет-магазина), как я уже выше писал. В-третьих, если у вас несколько проектов используют одну базу данных, модели ORM можно вынести в библиотеку и подключать к нужным проектам. Тогда при переименовании столбцов в БД вам не придётся в каждом проекте все запросы исправлять вручную - достаточно просто обновить зависимости.
источник

Я💆

Яросlove 💆 in pgsql – PostgreSQL
а если идёт запрос с условием: по_индексу AND не_по_индексу, то это стирает всё преимущество, которое даёт индекс?

Если запрос не_по_индексу это просто проверка boolean флага, то это никак не меняет картину?
источник
2021 March 28

HS

Henady Serchenya in pgsql – PostgreSQL
Что-то моя база данных сломалась. Создаются поля в таблице для чтения даже под posgres (superuser). Помогите, пожалуйста, решить проблему.
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
что значит "таблица для чтения" ?
этот как ?
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Henady Serchenya
Что-то моя база данных сломалась. Создаются поля в таблице для чтения даже под posgres (superuser). Помогите, пожалуйста, решить проблему.
Нужны детали, или страдай
источник

HS

Henady Serchenya in pgsql – PostgreSQL
Henady Serchenya
Что-то моя база данных сломалась. Создаются поля в таблице для чтения даже под posgres (superuser). Помогите, пожалуйста, решить проблему.
Любая создаваемая таблица, поля в которой только для чтения.
источник

HS

Henady Serchenya in pgsql – PostgreSQL
Henady Serchenya
Любая создаваемая таблица, поля в которой только для чтения.
источник

HS

Henady Serchenya in pgsql – PostgreSQL
Henady Serchenya
Любая создаваемая таблица, поля в которой только для чтения.
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Зачем ты этих скринов понапихал?
источник

HS

Henady Serchenya in pgsql – PostgreSQL
Ilia Zviagin
Зачем ты этих скринов понапихал?
Для деталей
источник