Data pertanyaan merentas jadual sambungan pelayan pangkalan data
Dalam banyak kes, anda mungkin perlu menyertai jadual dalam pangkalan data berbeza yang terletak pada pelayan berbeza. Ini boleh menjadi satu cabaran, tetapi terdapat cara untuk memudahkan penyepaduan data ini.
Kaedah 1: Buat pautan pelayan
sp_addlinkedserver
Prosedur tersimpan membolehkan anda mewujudkan sambungan antara pelayan setempat dan pelayan pangkalan data jauh, dipanggil pautan pelayan. Setelah pautan diwujudkan, anda boleh merujuk jadual jauh dalam pertanyaan dengan menambahkan nama pangkalan data pelayan jauh dengan nama pangkalan datanya.
Sebagai contoh, jika anda mempunyai jadual MyDatabaseOnDB1
dalam MyTable
dan jadual MyDatabaseOnDB2
dalam MyOtherTable
, anda boleh menyertainya menggunakan pertanyaan berikut:
<code class="language-sql">SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1 INNER JOIN [DB2].[MyDatabaseOnDB2].[dbo].[MyOtherTable] tab2 ON tab1.ID = tab2.ID</code>
Kaedah 2: Gunakan OPENQUERY
Sebagai alternatif, anda boleh menggunakan OPENQUERY
untuk melaksanakan pertanyaan SQL pada pelayan jauh dan mendapatkan semula hasilnya. Kaedah ini membolehkan pelayan jauh mengoptimumkan pertanyaan dan boleh meningkatkan prestasi. Untuk melakukan ini, anda membuat jadual sementara pada pelayan tempatan dan gunakan OPENQUERY
untuk mengisinya dengan hasil pertanyaan yang dilaksanakan pada pelayan jauh.
Contohnya:
<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>
OPENQUERY
boleh meningkatkan prestasi dan menjimatkan masa, terutamanya apabila menggunakan pertanyaan untuk menapis set data yang besar.
Sama ada anda menggunakan pautan pelayan atau OPENQUERY
bergantung pada keperluan khusus aplikasi anda dan pertimbangan prestasi. Kedua-dua pendekatan menyediakan penyelesaian yang berdaya maju untuk pertanyaan data merentas pelayan pangkalan data dan memudahkan penyepaduan data yang cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual Merentasi Pelayan Pangkalan Data Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!