Automatic performance analysis monitor/tool
Anyone know of any tools that would tell you where your performance problems are? I've looked and found nothing. It would seem that there should be something, either in MySQL or outside of it. I know about SHOW STATUS and all, but it's not table specific, and it's not over a range of time (only since last reset), which makes it less useful.
I'm talking about something which could tell you things like: this table is locking frequently, this table isn't being searched efficiently, this index isn't being used, this SQL query isn't optimized, query caching needs to be increased, etc.
I mean, all those things should be pretty easy to track, report on. MySQL must know them on some level, and some thirdparty tool could perhaps learn of them by analyzing processlist/binlog/etc. Without having some sort of tool like this it's impossible to know a lot of those very vital facts. A human can't learn them by looking manually at log files, trying every query.
Obviously I do things now like watch slow log for slow queries, but our server is extremely busy, and at times, when it gets bogged down, slow log gets populated by a sea of optimized queries which happened to be slow for other reasons. And processlist is almost always empty, despite locking. And...
Anyway, anyone know of any tools?