单次序列化/反序列化大对象与多次序列化/反实例化小对象

本文关键字:对象 序列化 实例化 反序列化 单次 | 更新日期: 2023-09-27 18:26:30

我需要在每次页面加载时从数据库中反序列化我的对象,并在点击下一个按钮时在数据库中再次序列化。我想知道哪种方式是加载/保存页面最快的方式。我应该将我的大对象拆分为3-4个小对象,并序列化/反序列化3-4次吗。通过这种方式,我将3-4次与数据库对话,3-4次初始化XMLSerializer。另一种方法是序列化/反序列化完整的对象,它将具有单个数据库命中和XMLSerializer的单个初始化。但是XML流(序列化的数据)会很大。哪个选项最快?

单次序列化/反序列化大对象与多次序列化/反实例化小对象

用异步模型序列化/反序列化一个完整的对象可能会有所帮助。

异步模型:http://msdn.microsoft.com/en-us/magazine/cc164128.aspx#S4

在大多数情况下,调用数据库将是最大的性能瓶颈。所以,在不知道比你发布的更多细节的情况下,我倾向于使用一个大的对象。如果您可以并行3-4个较小的请求,您可能会做得更好,但这可能更复杂,更有可能更快地导致扩展问题。

后续问题可能会为您提供更好的答案:

  • 每个物体有多大
  • 有多少用户将对此代码进行并发请求
  • 内存、数据库连接或其他容量是否有限制