 <p>Even if static pages are going to be <em>slightly</em> faster than loading every page from the database, with projects such as these you have to take into consideration numerous other factors. It may be appealing to optimize for performance only, but you do not want to be the one to explain to your users why they need to spend 10 minutes in creating a new quiz because "the database runs more efficiently".</p> <p>What you need to focus on is usage. If you're the only one who's going to maintain it, sure, static pages might not be bad. But if you're going to hand off the page to non-technical users or if the pages are going to need frequent changing, well, that's why dynamic pages with an administration interface were made for.</p> <p>If this is a general-use application, I'd "optimize for users" rather than performance. Sure, the latter might take slight hits, but in the end, do not build something you do not want to maintain. Fast changing, multi-user applications - use administration backends.</p>