Well, that all depends on your setup. The easiest way to tell what's the fastest is to test it yourself.
Write four PHP scripts where the only difference is where your template files get read. Time the scripts. Run each test at least 50-100 times to get an average reading. Compare the results.
See
http://www.php.net/microtime for a useful function in writing timed scripts.
If you're running your database on the same machine as your webserver, I doubt you'll see much of a difference either way. As soon as you put your database on a different machine, things get a little slower because you have to add a network connection to the mix. It's not terribly noticeable as long as your database server is in the same physical network as your webserver. Also, having your database on it's own server means that it can fully utilize the memory in that machine to cache query results, so running a bunch of similar queries should be really fast.
It all boils down to this: there are too many variables to just say "this is the fastest way to do things."
Take care,
Nik
http://www.bigaction.org/