【发布时间】:2011-07-30 19:37:09
【问题描述】:
我为工资系统编写了一个 web 应用程序,可以对 mysql 数据库执行(插入、更新、删除)操作。
我想知道
mysql 数据库中发生了多少事务?
mysql 数据库在 start_time 和 end_time 期间发生了多少事务?
【问题讨论】:
-
没有 MySQL 日志文件吗??
标签: java mysql sql transactions
我为工资系统编写了一个 web 应用程序,可以对 mysql 数据库执行(插入、更新、删除)操作。
我想知道
mysql 数据库中发生了多少事务?
mysql 数据库在 start_time 和 end_time 期间发生了多少事务?
【问题讨论】:
标签: java mysql sql transactions
MySQL 有命令计数器。可以通过SHOW GLOBAL STATUS LIKE "COM\_%" 看到它们。每次执行命令都会增加与其关联的计数器。与事务相关的计数器是Com_begin、Com_commit 和Com_rollback。 Uptime 也是自服务器启动以来的秒数。读取和绘制这些值或它们的增量会产生您要求的信息。
还有Com_insert、Com_update、Com_delete 及其变体的计数器。您可能还想绘制这些图表。
【讨论】:
不确定这是您正在寻找的答案 我听说以下 JDBC 记录器对于跟踪应用程序对数据库的操作非常有用。它应该显示您的应用程序在哪里打开和提交事务。然后,您应该能够编写一些脚本来处理日志以确定交易数量。
它基本上位于您的应用程序和真正的 数据库驱动程序之间。将 log4jdbc 前缀添加到 JDBC URL。例如,如果你正常的 jdbc url 是
jdbc:mysql://db.foo.com/webapplicationdb
那么你可以把它改成:
jdbc:log4jdbc:mysql://db.foo.com/webapplicationdb
【讨论】: