Although this area is old, i feel its still important to keep info and idea up to date on the subject.

I had an idea that you store all public info on a database client side.

Things like the table that stores all the weapons stats should be fine to have stored on the clients computer.

if a player looks at say item ID 9000, instead of it doing a query to the server to check the DB for that item, it checks a local DB for the stats. This reduces bandwidth the server needs as well as reduce the amount of queries your DB will be taking on.