最近需要接触一个几百兆的数据库,按理说这个数据库其实很小了,但是对方给我发来sql文件后,我拿到Navicat开始执行,却发现界面卡死了,过了一段时间后,Navicat依然卡死在那里,检查发现数据其实已经导入了,所以就非常奇怪到底是怎么卡死的。
Navicat导入sql时候的界面卡死原因,经过分析结论却出乎意料的简单:Navicat执行sql脚本过程,需要实时在信息窗口输出,这个输出,是卡死的根本原因,因为这个过程需要占用界面UI线程,所以在密集的输出下界面必然卡死,同时也就是因为不断的有输出在调用这里,所以即使脚本已经执行完了,但是Navicat却依然卡死而且占据了巨大的内存。
接下来,新的问题来了,我还没解决:怎样在执行大脚本的时候,临时关闭navicat的实时输出呢?
原文地址:
https://www.opengps.cn/Blog/View.aspx?id=5054
文章的更新编辑依此链接为准。欢迎关注源站原创文章!