DBeaver 数据比较结果过滤:3 步只看你关心的差异
【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver
DBeaver 的数据比较功能会把差异完整列出来,数量常常多于你真正要处理的部分。本文带你用大约 3 分钟掌握比较工具的结果过滤:按维度把结果列表收窄,只留下你需要的那几行。
先说清什么时候用
这一节回答"什么场景下你需要过滤比较结果"。两个具体情形:
- 跨库迁移前核对数据:业务表从旧库搬到新库,跑一次比较,预期结果列表为空,实际却抛出一两百行差异。其中大部分是你根本不关心的系统列和元数据,不先过滤,核对就没法收口。
- 版本升级后抽查差异:升级完成后对两个版本的环境各跑一次比较,你只想确认金额类字段有没有被改动,其余行先藏起来,列表立刻可控。
一句话概括:当差异列表比你的关注范围长得多时,就该打开过滤面板。
最短路径
这一节用 4 步让你完整跑通一次过滤操作。
- 选中要比较的对象,运行数据比较,等结果列表打开。
- 点击结果视图工具栏中的"过滤"按钮,弹出过滤面板。
- 在面板里取消勾选"全选字段",只勾选你关心的字段。
- 点击"应用",列表随即只保留满足条件的行。
本节涉及的面板和按钮属于比较工具的界面模块,源码在 plugins/org.jkiss.dbeaver.cmp.simple.ui/。
过滤维度一览表
这一节把每个维度能选什么、适合什么场合列成一张表,按需取用。
| 维度 | 可选值 | 适用情况 |
|---|---|---|
| 差异类型 | 新增记录 / 修改记录 / 删除记录 | 只想知道差异的整体走向,不想逐字段看具体取值 |
| 字段 | 任意勾选若干列的组合 | 只关心少数关键列是否发生了变化 |
| 字段值 | 对某一列的值设置条件 | 选定字段后还要按取值范围再筛一轮 |
三种差异类型标签对应属性文件中的这些键:
cmp.filter.type.added=新增记录 cmp.filter.type.changed=修改记录 cmp.filter.type.removed=删除记录跟练一遍
这一节从比较开始到应用结束走一遍完整过滤,其中字段名和条件都可直接照抄。
场景:比较两张商品表,你只关心price与stock两列,name、remark等其他列的差异全部忽略。
- 运行比较后,点击工具栏"过滤"。
- 在面板中取消勾选"全选字段",只勾上
price和stock。 - 点击"应用"。
预期结果:结果视图只留下price或stock发生变化的行,仅其他列不同的行从列表中消失。对照过滤前的完整列表行数,你能直接看到收窄幅度。
比较的执行与差异判定逻辑位于核心模块 plugins/org.jkiss.dbeaver.cmp.simple/。
把设置留下来
这一节把"复用已保存的条件"和"自写规则"合并成 4 条。
- 设置好过滤条件后,点击过滤面板中的"保存"按钮。
- 输入条件名称(例如"价格库存专用"),点击"确定"。
- 下次打开过滤时,从下拉菜单选择该条件,字段与类型设置原样恢复,无需重新勾选。
- 需要更细的条件时,在自定义规则入口写一条表达式,例如只保留价格变动超过 10% 的行,变动更小的行不会进入列表。
出错了先查这里
这一节把最常见的异常按"现象—可能原因—处理办法"列成表,遇到问题先查表再动手。
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 应用过滤后结果列表没有变化 | 条件表达式写错 | 检查条件与字段名拼写,修正后重新应用 |
| 列表正常但数据明显滞后 | 比较结果未刷新 | 重新运行一次比较,再应用过滤 |
| 重新比较后仍然无变化 | 本地缓存干扰 | 重启 DBeaver,再次应用过滤 |
| 点击"保存"无反应 | 配置目录没有写权限 | 检查用户主目录下.dbeaver文件夹是否可写 |
过滤把"翻完上千行差异"变成"确认几十行关键差异",成本只是几次勾选。条件稳定后给它存个固定名称,迁移前核对、升级后抽查这类任务都能直接复用。延伸一步:把这个功能并入变更发布流程,让每次上线前后的比较都成为标准动作。
【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考