即时水化器 Doctrine ORM的ObjectHydrator的(几乎)直接替代品,根据查询生成自定义的水合代码。 怎么运行的 在EntityManager中注册为水化器之后,ORM将调用它来水化查询,此时它要么加载缓存的查询类,要么生成新的查询类。 然后,生成的类将对结果集进行水合。 有多快? 在我相当有限的测试中,它比Doctrine ORM的ObjectHydrator快50-80%。 尽管对于非常简单的查询(选择<10个没有JOIN的列且仅1-2行),它可能比ObjectHydrator差一些,但对于较大的查询,性能将得到极大的提高。 下表显示了对返回了1,10,100..1000000行的查询的水化器的比较。 时间以毫秒为单位。 水化器/行 1个 10 100 1000 10000 100000 1000000 标量 7.77 8.68 18.83 1