в постгре?
Для того чтобы избегать null в ячейках?
Для всякого хлама и нужно ) Т.е. когда вы не уверены в том, какая будет структура и не можете на этот факт повлиять или она может очень сильно меняться и вам неохота делать адекватную разбивку на таблицы.
А это вообще из серии "вредные советы".
Почему же? Если складываешь в json - значит происходит какая-то херня.
тогда это как отстойник можно использовать: внутри проекта устоялось понимание того, что поле "field":123 которое сейчас хранится в json будет здесь и всегда - вытащил его оттуда и добавил как обычный столбец таблицы.. как один из вариантов применения - верно понял?
Представьте, что вы по API от некоего источника получаете данные, структурой которых не управляете. То есть может придти всё, что угодно. Но при этом вам нужно обеспечить фиксацию факта запроса и ответа Вот вам и json
И это в моём ответе было описано )
ну кстати этот вариант тоже используется: например так у нас хранят историю изменений, само изменение всегда разное и по этой причине лижит в json (там может от одного поля до 10 поменяться в рамках запроса в API)
Наверное лучше обозначить, почему JSON опасен: 1. Вы лишаетесь уверенности, что там лежит именно то, что вы ожидаете. Вы ждёте, что там всегда массив, но кто-то может впендюрить NULL (причём либо SQL NULL, либо JSON null), может бахнуть скаляр или объект. Массив может внезапно стать объектом. 2. Неэффективное хранение. Названия ключей тоже занимают место. 3. Неэффективный поиск.
Обсуждают сегодня