微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle数据库链接 – MySQL等效?

Oracle的 database link允许用户在多个物理数据库上进行查询

有什么MysqL的等价物?解决办法

我想在两个物理数据库中的两个表上运行连接查询。是否可能在MysqL

我可以想到四种可能的解决方案:

>在查询外部表时使用完全限定表名。 MysqL支持dbname.tablename`语法来访问当前数据库范围之外的表。这要求当前连接的用户具有从另一个物理数据库中的请求表读取的适当权限。
>如果您的外部数据库在不同的MysqL服务器上运行(在同一台机器上或通过网络连接),您可以使用复制来不断更新远程表的只读副本。只有在运行两个单独的MysqL实例时,才能进行复制。
>使用FEDERATED MySQL storage engine将表虚拟导入到当前数据库中。当使用FEDERATED存储引擎时,这将提供将当前用户访问权限提供给第二个数据库的要求,因为CREATE TABLE-statement提供了凭据。这也适用于在不同物理服务器或不同MysqL实例上运行的数据库。我认为这将是最差的执行选项,并且确实有一些limitations – 或多或少重要,这取决于您的使用情况和您的要求。
>这是方法1的扩展。而不必在每次从外部表中请求信息时指定完全限定表名,您只需在现有数据库内创建一个基于简单的SELECT<<< ;列>> FROM< data>>。< table>&gt ;.这类似于FEDERATED方法,但是限于同一MysqL实例上的表。

就个人而言,我认为方法(4)是最有用的 – 但是其他方法也可能是根据您的要求而进行的解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐