Я предлагаю вам изменить структуру базы данных, чтобы поле в сообщении буфера протокола, которое вы хотите изменить, находилось в отдельном столбце базы данных.Следовательно, вместо сериализации всего сообщения буфера протокола в одном столбце (что, как я полагаю, теперь у вас есть в вашей базе данных), вы бы представляли его другим способом.Тогда вы можете просто использовать простую команду SQL UPDATE
.
Я имею в виду, что нет смысла использовать базу данных, предназначенную для реляционного хранилища данных, для хранения сериализованных данных, которые должны бытьобновлено.Это мешает эффективному использованию SQL.
В качестве альтернативы, я не знаю, существуют ли базы данных, специализированные для работы с буферами протокола, но, безусловно, есть базы данных XML, которые якобы специализируются для обработки документов XML, поэтомуВы можете попробовать преобразовать ваши данные в XML и использовать один из них.Это, вероятно, излишне для этой единственной проблемы, хотя!Но если вам нужно выполнить много небольших задач, таких как эта, это может быть полезно.
Однако, без более подробной информации о том, для чего используются ваше приложение и / или база данных, трудно сказать, чтобудь лучшим.