mysql会话监控是否有阻塞的sql语句

现在想用java做一个定时任务,来监控mysql数据库是否有阻塞发生,如果有的话就给我发条短信。现在问题是在网上找了个监控的sql语句,但是我把数据库中的表锁定一两个的话这个sql监控不出来,我在网上找的sql是:

 SELECT 
  r.trx_id waiting_trx_id,
  r.trx_mysql_thread_Id waiting_thread,
  r.trx_query waiting_query,
  b.trx_id blocking_trx_id,
  b.trx_mysql_thread_id blocking_thread,
  b.trx_query blocking_query 
FROM
  information_schema.innodb_lock_waits w 
  INNER JOIN information_schema.innodb_trx b 
    ON b.trx_id = w.blocking_trx_id 
  INNER JOIN information_schema.innodb_trx r 
    ON r.trx_id = w.requesting_trx_id ;

请问大神们有没有别的什么好点的sql啊?

http://blog.itpub.net/29254281/viewspace-1420158/