Быстрее ли использовать XML или Serialize() для сохранения данных в БД на PHP?

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

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

Например:

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

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

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

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам