Sounds great. Being able to track the amount of data from requests -
even having something like a slow query log but a "large query log"
or the likes - would make a BIG difference in tracking down
performance issues. Thanks!
- John
At 4:02 PM +0200 6/16/06, Anders Karlsson wrote:
John!
No, that is not within the scope of this tool. One could imaging
that is was possible though, but without some effort. This
information is not available in the show processlist, so some other
means needs to be figured out. For a seelct one could always reissue
the statement (not all statements, but the ones one is interested
in) and count the # of rows returned. This is a rather terrible
kludge though.
The best you get right now is the original SQL text of the last
instance of a particular query. In the example below, what is
displayed as a query is "SELECT * FROM customer WHERE cust_id = ?",
but there is an option to show the last instance of the real query
(SELECT * FROM customer WHERE cust_id = 456). This is rather far
away from what you are looking for I guess.
If I get some idea of where to find this information, I'd be happy
to integrate this featuer into an upcoming version of the tool
though.
Best regards
Anders Karlsson
John May wrote:
Is there any way with this tool, or some other tool, to monitor the
amount of data (in KBytes or the likes) returned by a particular
query?
- John
The first version of MyMonitor is now available in source form on
sourceforge and can be downloaded from:
http://sourceforge.net/projects/mymonitor
The reason for this tool is simple, and it's also a bit different
from other similar tools (at least the ones I've looked at). The
tool gets the output from SHOW PROCESSLIST repeatedly and does
some magic to this to count the number of executions and execution
time. The difference is in how it handles the SQL statement text.
Before somparing the SQL text of a statment to the statements in
the previous run of SHOW PROCESSLIST or to the SQL in an internal
list of frequently accessed SQL statements, it removes any
references to literal values. So the these statements:
SELECT * FROM customer WHERE cust_id = 123;
and
SELECT * FROM customer WHERE cust_id = 123;
Which in SHOW PROCESSLIST is shown as 2 distinct statements are
handled as two executions of the same statement: "SELECT * FROM
customer WHERE cust_id = ?", which is usually how it works anyway.
The output through ncurses, a bit like "top". The collected
statements may also be written to file, and there are a bunch of
other settings, and there is also documentation in shape of a User
Guide in PDF format.
The current version is considered a beta, so comments on porting
are more than welcome. I have so far only run it on a couple of
Linux'es, but there is more to come. ncurses library is required,
as well as the MySQL Client library of course.
Enjoy, and comments are welcome, I hope this tool will turn out useful
--
-------------------------------------------------------------------
John May : President <http://www.pointinspace.com>
Point In Space Internet Solutions [EMAIL PROTECTED]
Professional Lasso / PHP / MySQL / FileMaker Pro Hosting
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]