如何有效率地跨不同資料庫伺服器連接表?
Jan 13, 2025 am 10:57 AM跨不同伺服器資料庫連接表
當從位於不同伺服器上的不同資料庫中的多個資料表檢索資料時,有幾種方法可以有效地連接這些資料表。
1. 使用伺服器連結
透過 sp_addlinkedserver
指令建立伺服器連結以建立資料庫之間的連線。像往常一樣透過查詢訪問,在連結伺服器名稱前加上資料庫名稱作為前綴,如範例所示:
-- 来自 DB1 SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1 INNER JOIN [DB2].[MyDatabaseOnDB2].[dbo].[MyOtherTable] tab2 ON tab1.ID = tab2.ID
登入後複製
2. 使用 OPENQUERY
或者,考慮使用 OPENQUERY
執行遠端 SQL 語句並從其他伺服器檢索資料。此方法可優化頻寬並在遠端伺服器上最佳化查詢。您可以將資料快取到臨時表或記憶體表中以便稍後連接,如下例所示:
-- 从其他数据库服务器获取数据 SELECT * INTO #myTempTable FROM OPENQUERY([DB2], 'SELECT * FROM [MyDatabaseOnDB2].[dbo].[MyOtherTable]') -- 现在我可以连接我的临时表以查看数据 SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1 INNER JOIN #myTempTable tab2 ON tab1.ID = tab2.ID
登入後複製
注意事項
伺服器連結和 OPENQUERY
之間的選擇取決於特定的用例和效能要求。伺服器連結提供永久連接,而 OPENQUERY
允許臨時資料檢索。對於需要過濾的場景,OPENQUERY
可能更有效率。請參考文件以了解更多範例和場景。
以上是如何有效率地跨不同資料庫伺服器連接表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)
