我有一个 SQL 脚本,我想在运行时输出进度消息。让它在 SQL 语句之间输出消息很容易,但是我有一些运行时间很长的 INSERT INTO SELECT。有没有办法让 select 语句随时输出消息,例如每 1000 行或每 5 秒输出一次?
注意:这适用于 SQL Anywhere,但任何 SQL 方言的答案都可以。
无法检索单个查询的执行状态。主流数据库引擎均不提供此功能。
此外,如果存在任何进度实现,都会产生可测量的开销,因此,如果查询已经花费了令人不舒服的长时间,以至于您想要显示进度,则通过显示所述进度导致额外的速度减慢可能不是设计目标。
你可能会发现这个关于估计 SQL 执行进度的文章 http://www.cse.iitb.ac.in/dbms/Data/Courses/CS632/2006/Papers/progress-est-surajit04.pdf很有帮助,尽管其实际意义有限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)