Маршалинг по сравнению с сериализацией ActiveRecord в Ruby on Rails

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

Единственное исключение для ручного вызова только (т.е. не кодируют его в SP): Когда Вы знаете о существенном изменении символа целевых таблиц. например, Усеченные, объемные загрузки, и т.д.

Это - еще одна возможность для преждевременной оптимизации.

Примечание: у Меня есть много точек. Если newby отправляет тот же ответ ниже, и Вы соглашаетесь, upvote их.

8
задан collimarco 19 August 2009 в 16:10
поделиться

2 ответа

IIRC:

Ruby Marshall не гарантирует работу с разными версиями ruby ​​или одними и теми же версиями ruby ​​на разных платформах.

Поскольку у вас могут быть разные версии Ruby, обращающиеся к одному и тому же сериализованному столбцу. , Rails реализует сериализацию с помощью YAML. Хотя это и медленнее, но это гарантирует, что ваш сериализованный столбец может быть прочитан другими версиями Ruby, ruby ​​в других ОС, а также другими языками программирования.

10
ответ дан 5 December 2019 в 12:11
поделиться

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

различаются, но обычно одинаковы, в статье Википедии: http://en.wikipedia.org/wiki/Marshalling_ (computer_science) #Comparison_with_serialization

Конкретное различие в терминах Ruby заключается в том, что встроенный Модуль Marshal доступен для любого приложения, в то время как поддержка сериализации ActiveRecord характерна только для платформы Rails.

Поскольку ActiveRecord имеет свой собственный тесно интегрированный метод сериализации, его обычно предпочтительно использовать.

4
ответ дан 5 December 2019 в 12:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: