Преимущества столбца массива Doctrine по сравнению с пользовательской сериализацией? - PullRequest
1 голос
/ 08 апреля 2010

У меня есть приложение, которое я конвертирую в Symfony / Doctrine. В настоящее время он хранит сериализованный массив в виде объекта JSON в базе данных. Я вижу, что в Doctrine есть столбец массива, который выполняет аналогичную сериализацию. Есть ли какое-то преимущество в производительности для стихов столбцов массива, имеющих собственные методы получения и установки json_decode / encode? Какой формат сериализации использует Doctrine?

1 Ответ

3 голосов
/ 08 апреля 2010

Я полагаю, что Doctrine использует свой собственный формат сериализации, который достаточно похож на формат, используемый в PHP serialize() / unserialize(), чтобы быть распознаваемым, но не достаточно похож, чтобы быть совместимым.

Выигрыш в производительности, вероятно, будет незначительным, поскольку оба они по существу implode() -подобны, а PHP довольно быстр с манипулированием строками. Однако есть издержки как на саму Doctrine, так и на фактическую транзакцию базы данных, и это гораздо более важные факторы при рассмотрении любой оптимизации.

Если вы увлажняете объекты Doctrine из сериализованной строки, то Doctrine предоставляет метод для своего собственного сериализованного формата, который, возможно, быстрее, хотя, опять же, не является основным узким местом для вычислений.

...