I would like to ask the philosophical question of whether using a table prefix like "mw_" is of any use later? I have pretty much full control of my box, can have as many MySQL databases as I like (including dev, test and live ones).
Currently all maintenance tasks are hard-coded with the standard table names. I've run into this and been bitten by it far too many times.
If you want to use table prefixes (which I must do in my install; 50+ wikis using 1 single 30gb+ database), you have to hand-edit the maintenance scripts to compensate for that.
It would seem to me that having completely separate databases (as opposed to differently named tables) is the way to go for me but can anyone help out with practical experience. Up to now I've used a prefix of mw_ and I could continue with that or just stop.
It all depends on your specific application, and how you intend on designing it. There is no one, hard-fast rule for how it "Should Be Done(tm)".