Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kinerja Sisipan-Pilih Server Tertaut

Cara tercepat adalah dengan menarik data daripada mendorongnya. Saat tabel didorong, setiap baris memerlukan koneksi, penyisipan, dan pemutusan.

Jika Anda tidak dapat menarik data, karena Anda memiliki hubungan kepercayaan satu arah antara server, solusinya adalah membuat seluruh tabel sebagai pernyataan T-SQL raksasa dan menjalankannya sekaligus.

DECLARE @xml XML

SET @xml = (
        SELECT 'insert Remote_Table values (' + '''' + isnull(first_col, 'NULL') + ''',' +
            -- repeat for each col
            '''' + isnull(last_col, 'NULL') + '''' + ');'
        FROM Local_Table
        FOR XML path('')
        ) --This concatenates all the rows into a single xml object, the empty path keeps it from having <colname> </colname> wrapped arround each value

DECLARE @sql AS VARCHAR(max)

SET @sql = 'set nocount on;' + cast(@xml AS VARCHAR(max)) + 'set nocount off;' --Converts XML back to a long string

EXEC ('use RemoteDb;' + @sql) AT RemoteServer


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buat Pekerjaan Agen Server SQL di Azure Data Studio

  2. Cara Membuat Kunci Asing Komposit di SQL Server (Contoh T-SQL)

  3. Pivot dengan kolom dinamis di SQL Server

  4. Arsitektur SQL Server AlwaysOn (Availability Group) dan Instalasi Langkah demi Langkah -3 Manual Fail Over Steps

  5. Parsing tanggal dari teks yang tidak diformat dalam SQL