@KOPC1886

Как десериализовать значение поля?

Есть поле, которое хранит сериализованную строку.
Как с помощью языка sql десериализовать значение поля и проверить , есть ли в этой строке определенное значение?

И можно ли так вообще сделать.
  • Вопрос задан
  • 271 просмотр
Пригласить эксперта
Ответы на вопрос 2
Нет.

Такие поля, в целом, против идеологии реляционной БД. Строго говоря, хранение таких значений в некоторых случаях может противоречить первой нормальной форме (но не всегда). А SQL - это язык, находящийся на уровне отношений, то есть вы на уровне "таблиц и атрибутов", но не данных.
Ответ написан
Комментировать
Vityarik
@Vityarik
Можно внести в таблицу поля которые хранятся в объекте.

Из кода считать всю таблицу десериализовать объект и записать в таблицу значение поля по которому надо будет осуществлять поиск, и в дальнейшем обновлять поле при обновлении/добавлении объекта. Это внесет избыточность (что может привести к противоречивости данных), но зато по полю вытащенному из объекта в таблицу можно построить индекс, что позволит значительно ускорить поиск.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы