In working with Doctrine 2 I came across the following paragraph.In fact, since Doctrine is aware of all your managed entities, when  you call theflush() method, it calculates an overall changeset and  executes the most efficient query/queries possible. For example, if  you persist a total of 100 Product objects and then subsequently call  flush(), Doctrine will create a single prepared statement and re-use  it for each insert. This pattern is called Unit of Work, and it's used  because it's fast and efficientI am not up to speed on relational databases and ORM theory so I was wondering why is the Unit Of Work pattern  considered fast and efficient? 
Why is the Unit of Work pattern considered fast and efficient when working with an ORM?
rdbms;unit of work