Быстрее ли использовать XML или Serialize () для сохранения данных в БД на PHP? - PullRequest
0 голосов
/ 25 сентября 2011

У меня есть проект, который требует невероятного количества настроек.

Как таковой, я ищу способ, который будет самым быстрым (или почти самым быстрым) во время выполнения, а также будет устойчивым для сохранения переменного числа настраиваемых полей.

Например:

В двух местоположениях сохраняются одни и те же 2 поля данных.

В местоположении # 1 два поля должны быть возвращены в формате number_format($num, 3), тогда как в местоположении # 2 эти же два поля являются текстовыми.поля без обязательного форматирования.

Я пытаюсь найти лучший (как определено выше) способ сохранить / восстановить формат этих полей.

На данный момент я склоняюсь к сохранениюв XML и serialize(), но во время выполнения, чтобы оптимизировать скорость, я бы только опрашивал данные serialize().Этот подход ослабил бы мои опасения по поводу повреждения данных в данных serialize(), поскольку при необходимости я могу вручную анализировать данные в документе XML.

ПРИМЕЧАНИЕ: Я просто обеспокоен форматированием/ style / etc о том, как манипулировать полями для просмотра, а не фактическим хранением данных в этих полях.

Лично мне не хотелось бы сохранять эти данные настройки в виде необработанных файлов на сервере, посколькуэто то, для чего нужна база данных, и данные настройки каждого местоположения будут довольно небольшими (не более 40-50 полей).

1 Ответ

1 голос
/ 30 сентября 2011

Сериализованные значения не так легко читать (и редактировать) людям по сравнению с XML. Однако существуют инструменты для анализа сериализованных данных, такие как Serialized PHP library .

С другой стороны, сериализованные значения могут быть легко прочитаны обратно в переменные, намного проще, чем с XML. Для XML Вам необходимо создать «сериализатор», который может преобразовывать переменные в XML и обратно. Один в PEAR ( XML_Serializer ), другой XML-сериализатор также доступен в Symfony2 .

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

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