Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyertai Jadual Merentas Pangkalan Data pada Pelayan Berbeza?
Sertai jadual merentas pangkalan data pelayan yang berbeza
Mengintegrasikan data daripada pangkalan data pelayan yang berbeza memberikan kemungkinan untuk melakukan pertanyaan komprehensif. Untuk melakukan ini, anda boleh mempertimbangkan strategi berikut:
Gunakan sp_addlinkedserver
Gunakan sp_addlinkedserver
untuk mencipta pautan pelayan untuk mewujudkan sambungan antara dua pangkalan data. Sila rujuk kepada dokumentasi yang berkaitan untuk mengetahui cara menggunakannya. Setelah pautan diwujudkan, anda boleh membina pertanyaan seperti biasa, menambah nama pangkalan data dengan nama pelayan terpaut, seperti ini:
<code class="language-sql">SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1 INNER JOIN [DB2].[MyDatabaseOnDB2].[dbo].[MyOtherTable] tab2 ON tab1.ID = tab2.ID</code>
GUNAKAN OPENQUERY
OPENQUERY
membolehkan anda melaksanakan penyataan SQL pada pelayan jauh dan mengambil hanya data yang diperlukan. Pendekatan ini meningkatkan kelajuan dan membolehkan pelayan jauh mengoptimumkan pertanyaan. Caching data dalam jadual sementara dalam pangkalan data tempatan boleh memudahkan pertanyaan berikutnya, sama seperti menyambung ke jadual standard.
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>
Sila rujuk dokumentasi OPENQUERY
untuk lebih banyak contoh. Walaupun contoh yang diberikan di sini lebih mudah, pendekatan pertama menggunakan sp_addlinkedserver
mungkin lebih sesuai. Walau bagaimanapun, apabila menapis data diperlukan, OPENQUERY
boleh meningkatkan prestasi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual Merentas Pangkalan Data pada Pelayan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!