2011-02-18 73 views
3

我們試圖解析一個文件並將其存儲在MySQL數據庫中。這些命令將導入一個大型跟蹤文件,大小可能爲幾GB,因此用戶可能會感興趣的是跟蹤命令的進度。我們使用下面的命令:實現MySQL命令進度條

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

您可以根據查詢所在的階段製作一個進度條,它可以將GUID放入查詢中的某個註釋中,然後使用SHOW FULL PROCESSLIST來確定查詢所在的階段。但是沒有確切的方法來衡量實際進展。有了InnoDB,你可以嘗試使用SHOW INNODB STATUS,但即使這樣也不準確。