DBeaver 不支持单列冻结,仅能全局设置固定左侧 N 列;需在「编辑→首选项→数据库→结果集→数据编辑器」中配置 Fixed columns 数值,修改后须重新执行查询才生效。

不能冻结单列,但能固定左侧多列——这是 DBeaver 当前版本(2026 年社区版 24.x)对“列冻结”的实际支持能力。
为什么找不到“冻结首列”按钮
DBeaver 没有 Excel 那样的独立「冻结窗格」功能,也不提供右键菜单里的“冻结此列”选项。它的冻结逻辑是基于“左侧固定列数”的全局设置,不是按列选择的交互式冻结。你看到的“列被固定了”,其实是结果集网格开启了 Fixed columns 模式,且设置了固定数量(比如 2 列),它会无差别地把最左 N 列钉住,不管这列是不是你要的业务主键或 ID。
- 这个设置不保存在每个查询结果里,而是全局生效于所有结果集面板
- 修改后需重新执行查询,已打开的结果集不会自动重绘冻结效果
- 如果当前结果集列数少于设定的固定列数,界面可能异常(比如空白列、错位)
如何设置固定左侧 N 列
路径是:菜单栏 编辑 → 首选项 → 数据库 → 结果集 → 数据编辑器,找到 Fixed columns 输入框,填入数字(如 1 或 2)即可。
- 值为
0表示关闭冻结;1表示固定最左 1 列(通常是主键);2表示固定最左两列 - 该设置影响所有数据库连接下的结果集,无法按连接或按查询单独配置
- 修改后点
应用,再执行新查询才能看到效果;旧结果集需手动刷新或关闭重开
冻结列和滚动性能的关系
开启固定列后,DBeaver 会在渲染时额外维护两套列布局(固定区 + 可滚动区),内存占用略升,但对响应速度影响极小。真正要注意的是:当结果集列宽总和远超窗口宽度、又启用了大量固定列时,横向滚动可能出现轻微卡顿——这不是 bug,是 Swing 网格控件的渲染限制。
- 建议固定列数不超过
2,尤其当表字段 > 30 列时 - 避免固定包含大文本(如
TEXT、JSON)的列,它们会拖慢网格重绘 - 若只需临时查看某列,用
Ctrl+Click列头可快速排序并置顶,比冻结更轻量
真正容易被忽略的一点:DBeaver 的“固定列”只作用于数据网格视图,不延伸到导出(CSV/Excel)、复制(Ctrl+C)、聚合统计等后续操作——导出文件里不会有“冻结”语义,复制内容也照常包含全部列。别指望靠它来约束下游使用。

















