Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyertai Jadual dengan Cekap Merentasi Pelayan Pangkalan Data Berbeza?

Bagaimana untuk Menyertai Jadual dengan Cekap Merentasi Pelayan Pangkalan Data Berbeza?

Susan Sarandon
Lepaskan: 2025-01-13 10:57:43
asal
683 orang telah melayarinya

How to Efficiently Join Tables Across Different Database Servers?

Sertai jadual merentas pangkalan data pelayan yang berbeza

Apabila mendapatkan semula data daripada berbilang jadual dalam pangkalan data berbeza yang terletak pada pelayan berbeza, terdapat beberapa cara untuk menyertai jadual ini dengan cekap.

1. Gunakan pautan pelayan

Buat pautan pelayan melalui perintah sp_addlinkedserver untuk mewujudkan sambungan antara pangkalan data. Akses melalui pertanyaan seperti biasa, meletakkan awalan nama pelayan yang dipautkan dengan nama pangkalan data, seperti yang ditunjukkan dalam contoh:

<code class="language-sql">-- 来自 DB1
SELECT *
FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1
INNER JOIN [DB2].[MyDatabaseOnDB2].[dbo].[MyOtherTable] tab2
ON tab1.ID = tab2.ID</code>
Salin selepas log masuk

2. Gunakan OPENQUERY

Sebagai alternatif, pertimbangkan untuk menggunakan OPENQUERY untuk melaksanakan pernyataan SQL jauh dan mendapatkan semula data daripada pelayan lain. Kaedah ini mengoptimumkan lebar jalur dan mengoptimumkan pertanyaan pada pelayan jauh. Anda boleh cache data ke dalam jadual sementara atau dalam memori untuk sambungan kemudian, seperti yang ditunjukkan dalam contoh berikut:

<code class="language-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</code>
Salin selepas log masuk

Nota

Pilihan antara

Pautan Pelayan dan OPENQUERY bergantung pada kes penggunaan dan keperluan prestasi tertentu. Pautan pelayan menyediakan sambungan kekal, manakala OPENQUERY membenarkan pengambilan data sementara. Untuk senario yang memerlukan penapisan, OPENQUERY mungkin lebih cekap. Sila rujuk dokumentasi untuk lebih banyak contoh dan senario.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Jadual dengan Cekap Merentasi Pelayan Pangkalan Data Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan