jsonb обойтись без дополнительного поля id? Что бы идентификатор внутри самого jsonb был
лучше все хранить в текстовом файле
А что является первичным ключом в такой таблице?
Сделать id внутри json уникальным? Или так нельзя?
И создавать тогда индекс по внутренности json-a? И выгораживать странную систему внешних ключей, если вдруг понадобиться ссылаться на таблицу извне?
внутри json, да Допустим, наружу ничего не нужно, в базе одна таблица
Не проще ли тогда монго юзать?)
к сожалению, нет такого варианта, только postgres
Товарищ, видимо, имеет в виду что-то типа https://docs.microsoft.com/ru-ru/sql/relational-databases/xml/xml-indexes-sql-server?view=sql-server-ver15 Но я сам недавно пришёл в PG, поэтому перефразирую его вопрос: Есть ли в PG возможность делать JSON-индексы, по типу XML-индексов в MS SQL?
Если на это поле внутри jsonb првесить UNIQUE NOT NULL – то жыть скорее можно. Это, конечно, дичь — но ещё не жэсть. Только зачем такие странности? Вытащите вы этот параметр в поле и делайте по классике.
А чем именно (помимо нетрадиционных индексов) хуже, медленнее?
Тем, что не по лучшым практикам.
https://habr.com/ru/company/oleg-bunin/blog/646987/
Основная проблема в том, что jsonb — это одно значение, и если JSON'ы большие (пара килобайт), то они начинают резаться на TOAST'ы и все начинает тормозить. Поэтому по jsonb не стоит искать без индексов, да и считывать их стоит не в каждом первом запросе
Обсуждают сегодня