Bug #68753 | Show processlist does not show variable values any more | ||
---|---|---|---|
Submitted: | 22 Mar 2013 21:41 | Modified: | 3 Apr 2013 0:20 |
Reporter: | Franjo Markovic | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Stored Routines | Severity: | S4 (Feature request) |
Version: | 5.6.10 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[22 Mar 2013 21:41]
Franjo Markovic
[23 Mar 2013 5:29]
MySQL Verification Team
I remember benchmarking this, and a large amount of CPU time was spent on rewriting the query to make it visible in the logs/processlist. maybe this should be enabled just in debug builds? incurring an overhead for every query is harsh penalty to pay. or we need to optimize the rewriting code to make it faster?
[26 Mar 2013 16:45]
Franjo Markovic
If there is a performance penalty for this, then, rather than just killing the functionality, it would be nicer to have an option (in my.ini) where users can choose if showing this detail is worth extra time for them.
[26 Mar 2013 17:06]
MySQL Verification Team
I believe the change I was talking about was introduced by this fix: http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-9.html Bug 14073554 - DON'T CALL MYSQL_REWRITE_QUERY IF NO BINLOG, GENERAL LOG, SLOW LOG IS ENABLED Enabling the binlog can bring back the old behavior. In my testcase, 11% cpu time was spent rewriting the query (worst case scenario). But I think it could make sense to have an option to re-enable it again if it's needed.
[3 Apr 2013 0:20]
Franjo Markovic
I don't have access to see details of bug 14073554 (as neither general public does). Can you please explain the details/options when this feature is enabled? I have my server as replication master - isn't that the same/similar as binlog?
[29 Feb 2016 6:52]
Ajo Robert
Posted by developer: This functionality can be brought back by enabling statement binlog. mysqld.exe --no-defaults --console --skip-grant-tables --log-bin --server-id=1 --binlog-format=statement mysql> mysql> show processlist; +----+------+-----------+------+---------+------+------------+---------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+------------+---------------------------------------------------------+ | 1 | root | localhost | test | Query | 1 | User sleep | select sleep(1) from t where a = NAME_CONST('var_i',4) | | 2 | root | localhost | test | Query | 0 | init | show processlist | +----+------+-----------+------+---------+------+------------+---------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> select version(); +------------------+ | version() | +------------------+ | 5.6.30-debug-log | +------------------+ 1 row in set (0.00 sec) mysql>