Marco, As a bit of background, my day job is Java software engineering (mostly web apps) and I usually use MySQL via Hibernate. Now, back to business... 1) Hmm, the "persistence mechanisms" sounds interesting. Is it totally out of the question? You're right, they're not big tables and MySQL can handle them with aplomb. That said... hundreds of users/hundreds of page loads... it all adds up. Again, query caching can mitigate this, so I'd highly recommend making a prominent suggestion that folks make sure it's turned on. One thing I didn't mention before, the memory storage engine might be worth looking into for those two tables. Unlike varchar, text column values are stored separately (i.e., not with the rest of the row). So, it's a little extra work for MySQL. And, there are other, minor differences. 2) Whoops, looks like I removed the index it while I was doing something else! Forget this one. 3) Cool.