DBeaver无直接“跳到第N行”输入框,但提供3种可靠定位方式:开启行号后按Ctrl+G跳转、用过滤条件精准查找、或通过SQL分页(LIMIT/OFFSET)配合滚动加载控制数据加载范围。

直接说结论:DBeaver 没有“跳到第 N 行”的输入框式定位,但有 3 种可靠方式能快速抵达目标行——取决于你手头有没有唯一标识、是否已排序、以及数据量大小。
结果集里按行号跳转(需开启行号显示)
默认结果集不显示行号,所以“跳到第 12345 行”这种操作必须先打开行号列。否则右键菜单和快捷键都不可用。
- 右键结果集任意空白处 → 勾选
Show Row Numbers(不是“Show Line Numbers”) - 开启后,最左侧会多出一列数字,从 1 开始递增
- 此时可使用快捷键:
Ctrl+G弹出“Go to Row”对话框,输入行号确认即可 - 注意:这个行号是当前可见结果集的逻辑序号,不是数据库里的物理
ROWNUM或OFFSET;如果开了分页(如每页 100 行),Ctrl+G跳的是当前页内行号,不是全量结果的绝对位置
用过滤条件精准定位某一行(推荐用于带主键或唯一字段的场景)
比手动翻页或记行号更稳——尤其当你要找的是 id = 89273 或 order_no = 'ORD-2026-XXXX' 这类明确值时。
- 点击目标列的列头右侧小漏斗图标(
Filter) - 在弹出框中选
=,输入目标值,点 OK - 如果该值唯一,结果集立刻只剩 1 行;即使不唯一,也大幅缩小范围
- 支持复合条件:比如同时对
status列设= 'processed',再对updated_at设> '2026-10-30' - 过滤状态会保留在当前结果集标签页,关掉再重开就失效,不污染其他查询
滚动加载大结果集时如何避免卡死并准确定位
查出 50 万行却只关心第 49 万行附近的数据?别拖滚动条——那是在触发全量加载,极易卡住或 OOM。
- 务必提前在连接配置里关掉“Fetch all rows”(连接编辑 →
Connection settings→Data标签页 → 取消勾选Read all rows at once) - 改用分页模式:在结果集底部状态栏看当前范围,如 “Rows 1–100 of 492831”,点击右下角分页控件跳转
- 若需精确定位高序号行,优先用 SQL 加
LIMIT+OFFSET重查,例如:SELECT * FROM orders ORDER BY id LIMIT 100 OFFSET 489900 -
Ctrl+Shift+[和Ctrl+Shift+]可快速跳首页/末页,但对中间页无效;Alt+PgUp/Alt+PgDn是按当前页大小翻页,比鼠标滚轮快得多
最容易被忽略的一点:行号列(Show Row Numbers)和 Ctrl+G 功能,只对“已加载到内存”的行有效。如果你连的是 Oracle 或 PostgreSQL 且没关自动预取,它可能只加载了前几页,后面行号还是灰色不可输——这时得先滚动到底部触发加载,或换用 SQL 分页查。定位不是靠工具“找”,而是靠你控制数据怎么进来。











