温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么是db link

发布时间:2026-09-29 06:40:23 来源:亿速云 阅读:83 作者:小樊 栏目:数据库

DB Link(Database Link,数据库链接) 是数据库中用于跨数据库访问的一种机制。

简单来说:
DB Link 就像一个“桥梁”,让你在 A 数据库里,直接查询或操作 B 数据库中的数据,就像 B 库的数据在 A 库一样。


一、常见场景

  • 一个系统拆成多个数据库(如业务库 + 报表库)
  • 不同子系统使用不同数据库
  • 做数据同步、报表汇总、跨库 JOIN

二、不同数据库中的 DB Link

1️⃣ Oracle 中的 DB Link(最典型)

-- 创建 DB Link
CREATE DATABASE LINK dblink_to_b
CONNECT TO user_b IDENTIFIED BY password_b
USING 'tns_b';

-- 使用 DB Link 查询
SELECT * FROM emp@dblink_to_b;

特点:

  • 语法原生支持 @dblink
  • 可查询、插入、更新远程表
  • 常用于 Oracle → Oracle

2️⃣ MySQL(没有原生 DB Link)

MySQL 没有直接等价的 DB Link,常用替代方案:

  • FEDERATED 引擎
CREATE TABLE remote_emp (
  id INT,
  name VARCHAR(50)
) ENGINE=FEDERATED
CONNECTION='mysql://user:pwd@host:3306/db/emp';
  • 或应用中多数据源
  • 或用中间件(MyCat、ShardingSphere)

3️⃣ PostgreSQL(类似 DB Link)

-- 安装扩展
CREATE EXTENSION dblink;

-- 使用
SELECT * FROM dblink(
  'dbname=test user=postgres password=123',
  'SELECT id, name FROM emp'
) AS t(id int, name text);

4️⃣ SQL Server(Linked Server)

-- 创建链接服务器
EXEC sp_addlinkedserver 'RemoteDB', '', 'SQLNCLI', '192.168.1.10';

-- 查询
SELECT * FROM RemoteDB.Database.dbo.emp;

三、DB Link 的优缺点

✅ 优点

  • 跨库访问简单
  • 减少数据冗余
  • 方便报表和集成

❌ 缺点

  • 网络依赖强
  • 性能可能较差(尤其跨网)
  • 事务和一致性复杂
  • 调试困难

四、一句话总结

DB Link 就是数据库之间的“远程连接通道”,让你在一个库里直接访问另一个库的表。

如果你说的是某个具体数据库(Oracle / MySQL / PG)或使用场景,我可以给你更具体的例子。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手