navicat 不支持直接导出图形化执行计划为 pdf 或图片,唯一可靠方法是放大后系统截图:先用 ctrl/cmd+滚轮放大至150%–200%,再用系统工具框选导出为 png 或打印为 pdf。

Navicat 本身不支持直接导出执行计划为 PDF 或图片
Navicat 的「图形化执行计划」视图(即点击 Explain 后出现的树状/流程图)仅用于本地渲染,没有内置的「导出为 PDF」「另存为 PNG」按钮。你右键菜单里看到的 Export 选项,实际只对查询结果集生效,对执行计划图无效。
替代方案:用浏览器截图 + 高精度缩放保真
这是最稳定、零依赖、能保留颜色/连线/折叠状态的方式。Navicat 渲染执行计划使用的是内嵌 WebKit(Windows/macOS)或 Qt WebEngine,本质是网页组件,可被系统级截图捕获:
- 在 Navicat 中打开执行计划后,按
Ctrl + 鼠标滚轮(Windows/Linux)或Cmd + 鼠标滚轮(macOS)放大至 150%–200%,确保节点文字清晰、连线不重叠 - 关闭所有无关窗口,将 Navicat 执行计划窗口单独最大化,顶部菜单栏和底部状态栏尽量不入镜
- 用系统自带截图工具:Windows 上用
Win + Shift + S框选;macOS 用Cmd + Shift + 4,拖拽精确范围 - 粘贴到
Paint(Windows)或Preview(macOS)中,用「导出」保存为PNG;如需 PDF,直接「打印 → 选择「另存为 PDF」」(macOS)或「Microsoft Print to PDF」(Windows)
导出前必须确认的三个细节
否则截图可能丢失关键信息或无法反映真实执行路径:
-
Explain必须点的是「图形化」按钮(图标为流程图),不是「文本」按钮——后者输出的是纯文本,无法截图成结构图 - 执行计划需已完整加载完成:右下角无「Loading…」提示,且所有节点可展开/折叠;若卡在某节点,说明语句未真正执行,截图只是占位符
- 避免使用远程连接时的「压缩传输」模式(如 Navicat 的「Use compression」勾选状态),该模式可能导致 SVG 渲染异常,线条断裂或文字错位
为什么不用「复制为图像」或第三方录屏?
部分用户尝试右键执行计划图选「Copy Image」,但 Navicat 实际未实现该接口,粘贴出来是空白或报错;而录屏再逐帧截图,会因动画过渡(如节点高亮、连线脉冲)导致关键帧模糊,且无法保证单张图覆盖全路径。真要批量生成,不如改用命令行工具(如 EXPLAIN FORMAT=DOT + Graphviz),但那就脱离 Navicat 场景了。
图形化执行计划截图这件事,核心就两点:放大到位、框选干净。其余任何“自动化导出”插件或变通方法,目前都绕不开渲染层限制,反而增加失败概率。











