Define ‘unwanted/useless data’
If you can’t come up with an exact set of parameters, no 🙂 If you can, then probably.
for example old revision, empty tables, etc.
One more thing is, can i use multiple DB for better experience? if yes, how?
for example old revision, empty tables, etc.
Old Revision: Read http://wpengineer.com/2382/wordpress-constants-overview/
That has some constants you can set in your wp-config.php to handle revisions, trash etc.
Leave the empty tables alone, they have a purpose, even if you aren’t using them today.
MultipleDBs doesn’t give a better experience unless you have a huge database.
Any other recommendation for DB optimization for fast query processing?
Anything I’d do would be on SQL’s end, not WordPress’s.
Can you please elaborate?
This is high level passthrough, just FYI. If I were to go into depth I’d be applying for a job 😉
1) Know how WP works with DBs. http://www.onextrapixel.com/2010/05/19/a-detailed-look-into-wordpress-database-optimization/
2) Make sure you have CACHING installed on your sevrer for php and SQL
3) Get a caching plugin (w3TC does DB caching and object caching)
4) Make sure you installed PHP and SQL with the best settings for your server, tweak the heck out of mysql and httpd configs.