实现MySQL命令进度条

3
我们正在尝试解析一个文件并将其存储在MySQL数据库中。命令将导入一个可能达到几个GB大小的大型跟踪文件,因此用户可能有兴趣跟踪命令的进度。我们使用以下命令:
String commandText = "SET AUTOCOMMIT = 0; "
                   + "START TRANSACTION; "
                   + "LOAD DATA LOCAL INFILE \'" + filePath + "\' "
                   + "INTO TABLE testdatabase.metadata "
                   + @"FIELDS TERMINATED BY '\t' "
                   + @"LINES TERMINATED BY '\n' "
                   + "(Position,"
                   + "Timespace,"
                   + "Duration,"
                   + "Disk,"
                   + "Request,"
                   + "Sector,"
                   + "Length); "
                   + "COMMIT;";

有没有办法在命令执行时跟踪进度以实现进度条?

1个回答

1

您可以创建一个进度条,根据查询所处的阶段来改变进度。在查询中的某个注释中放置GUID是完全可能的,然后使用SHOW FULL PROCESSLIST来确定查询所处的阶段。但是没有确切的方法来衡量实际进度。对于InnoDB,您可以尝试使用SHOW INNODB STATUS,但即使如此也不是很精确。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接