亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Oracle數據庫鏈接-MySQL等效嗎?

Oracle數據庫鏈接-MySQL等效嗎?

慕斯王 2019-10-21 11:15:21
Oracle的數據庫鏈接允許用戶查詢多個物理數據庫。是否有任何MySQL等效產品?解決方法?我想在兩個表中運行聯接查詢,這兩個表位于兩個物理數據庫中。在MySQL中可能嗎?
查看完整描述

2 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

我可以為您的方案考慮四種可能的解決方法:

  1. 查詢外部表時,請使用完全限定的表名。MySQL支持dbname.tablename-syntax訪問當前數據庫范圍之外的表。這要求當前連接的用戶具有從另一個物理數據庫中的請求表中讀取的適當權限。

  2. 如果您的外部數據庫在不同的MySQL服務器上運行(在同一臺計算機上或通過網絡連接),則可以使用復制來不斷更新遠程表的只讀副本。僅當您運行兩個單獨的MySQL實例時才可以進行復制。

  3. 使用FEDERATEDMySQL存儲引擎將表虛擬導入到當前數據庫中。CREATE TABLE當使用FEDERATED存儲引擎時,使用-statement 給出憑據,從而提高了將當前用戶訪問權限授予第二個數據庫的要求。這也適用于在不同物理服務器或不同MySQL實例上運行的數據庫。我認為這將是性能最差的選項,并且確實存在一些限制 -根據您的使用場景和要求,或多或少地重要。

  4. 這是方法1的擴展。您不必每次在從外部表中請求信息時都必須指定完全限定的表名,而只需在simple的基礎上創建一個視圖即可SELECT <<columns>> FROM <<database>>.<<table>>。這類似于FEDERATED-method的工作方式,但僅限于同一MySQL實例上的表。

我個人認為方法(4)最有用-但其他方法也可能是變通辦法,具體取決于您的要求。


查看完整回答
反對 回復 2019-10-21
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

目前沒有MySQL等價方法,請參閱這篇文章。但是,正如發布者所建議的,如果數據庫位于同一臺計算機上,則可以通過在表名前面添加數據庫名來解決。


另請參閱本,這是6歲,但仍然沒有得到解決。它已關閉,可能不在他們的待辦事項列表中。


查看完整回答
反對 回復 2019-10-21
  • 2 回答
  • 0 關注
  • 507 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號