172 похожих чатов

Парни, привет. Для каких целей правильно будет использовать JSON поля

в постгре?
Для того чтобы избегать null в ячейках?

9 ответов

13 просмотров

Для всякого хлама и нужно ) Т.е. когда вы не уверены в том, какая будет структура и не можете на этот факт повлиять или она может очень сильно меняться и вам неохота делать адекватную разбивку на таблицы.

Роман Жарков
А это вообще из серии "вредные советы".

Почему же? Если складываешь в json - значит происходит какая-то херня.

Стас-Донцов Автор вопроса
Евгений Смирнов
Для всякого хлама и нужно ) Т.е. когда вы не увере...

тогда это как отстойник можно использовать: внутри проекта устоялось понимание того, что поле "field":123 которое сейчас хранится в json будет здесь и всегда - вытащил его оттуда и добавил как обычный столбец таблицы.. как один из вариантов применения - верно понял?

Евгений Смирнов
Почему же? Если складываешь в json - значит происх...

Представьте, что вы по API от некоего источника получаете данные, структурой которых не управляете. То есть может придти всё, что угодно. Но при этом вам нужно обеспечить фиксацию факта запроса и ответа Вот вам и json

Стас-Донцов Автор вопроса
Альберт Степанцев
Представьте, что вы по API от некоего источника по...

ну кстати этот вариант тоже используется: например так у нас хранят историю изменений, само изменение всегда разное и по этой причине лижит в json (там может от одного поля до 10 поменяться в рамках запроса в API)

Стас Донцов
тогда это как отстойник можно использовать: внутри...

Наверное лучше обозначить, почему JSON опасен: 1. Вы лишаетесь уверенности, что там лежит именно то, что вы ожидаете. Вы ждёте, что там всегда массив, но кто-то может впендюрить NULL (причём либо SQL NULL, либо JSON null), может бахнуть скаляр или объект. Массив может внезапно стать объектом. 2. Неэффективное хранение. Названия ключей тоже занимают место. 3. Неэффективный поиск.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта