I'll second Rob's note, and I'll add that you'd be well-served to abstract your storage methods so that you can switch out how you manage the storage of your data without affecting how the application runs. Then you can build a quick version that grabs stuff directly from the database, do some performance analysis to figure out where the bottlenecks lie, and then start trying various tricks to make things to faster.
Pete.
