MySQL Обновление Сериализированных Данных - PullRequest
1 голос
/ 21 января 2010

Как обновить сериализованные данные в поле таблицы БД?

Я хочу хранить сериализованные данные, чтобы уменьшить количество запросов, но не знаю, как их обновить.

Ответы [ 2 ]

3 голосов
/ 21 января 2010

Вы должны извлечь сериализованные данные, unserialize(), изменить их, serialize() снова вернуть их и обновить строку таблицы в базе данных новыми сериализованными данными.

Это слишком медленно / хлопотно, и поэтому вам не следует хранить сериализованные данные в БД.

1 голос
/ 22 июня 2011

В общем, и, конечно, где вы хотите хранить большие объемы данных, Аликс прав; попытайтесь сохранить ваши данные в виде строк в таблице базы данных.

Например, вот кто-то просит помощи в хранении огромного куска данных, похожих на данные корзины покупок , и это именно то, что вам нужно избегать.

Однако, если вы имеете дело с небольшими объемами данных, целесообразна сериализация, поскольку простое чтение строки для извлечения сериализованных данных с последующей записью обратно, вероятно, не является огромной нагрузкой на ресурсы.

Например, я работаю над системой бронирования отелей, в которой каждый клиент может добавить места, которые затем он может связать со своими разными клиентами. Для простоты я использую сериализованные данные вместо строк.

В этом случае я храню серию идентификаторов клиентов в строке для места проведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...