我的程序从 SQL 文件恢复 MySQL 数据库。如果我想在我的程序中显示 SQL 执行的进度,我需要知道文件中 SQL 语句的数量。我怎样才能在 MySQL 中做到这一点? (查询可能包含 mysql 特定的多行插入语句)
我可以使用 MySQL 命令行工具或 Python API。也欢迎您发布其他 DBMS 的解决方案。
最佳答案
简单(容易)的方法:将 PRINT
语句添加到您的 SQL 脚本文件,显示进程消息。
优点(除了显而易见的“难以解析多语句结构”之外)是您可以精确控制进度。例如,某些语句的运行时间可能比其他语句长得多,因此您需要对它们进行加权。
我不会考虑执行的语句数量方面的进展。我所做的是打印出特定任务已经开始和完成的反馈,例如“同步表‘blah’”、“更新存储过程 X”等
关于mysql - 如何计算文本文件中SQL语句的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5839406/