Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Szybko wstawiaj 2 miliony wierszy do SQL Server

  1. Myślę, że lepiej odczytać dane z pliku tekstowego w DataSet

  2. Wypróbuj SqlBulkCopy - Wstaw zbiorczo do SQL z aplikacji C#

    // connect to SQL
    using (SqlConnection connection = new SqlConnection(connString))
    {
        // make sure to enable triggers
        // more on triggers in next post
        SqlBulkCopy bulkCopy = new SqlBulkCopy(
            connection, 
            SqlBulkCopyOptions.TableLock | 
            SqlBulkCopyOptions.FireTriggers | 
            SqlBulkCopyOptions.UseInternalTransaction,
            null
            );
    
        // set the destination table name
        bulkCopy.DestinationTableName = this.tableName;
        connection.Open();
    
        // write the data in the "dataTable"
        bulkCopy.WriteToServer(dataTable);
        connection.Close();
    }
    // reset
    this.dataTable.Clear();
    

lub

po wykonaniu kroku 1 u góry

  1. Utwórz XML z zestawu danych
  2. Przekaż XML do bazy danych i wstawiaj zbiorczo

możesz sprawdzić ten artykuł, aby uzyskać szczegółowe informacje:Masowe wstawianie danych przy użyciu funkcji C# DataTable i serwera SQL OpenXML

Ale nie przetestowano go z 2 milionami rekordów, zrobi to, ale zużyje pamięć na komputerze, ponieważ musisz załadować 2 miliony rekordów i włożyć go.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zachować kolejność wstawiania w SQL Server

  2. Proste zapytanie w celu uzyskania maksymalnej wartości dla każdego identyfikatora

  3. Dostęp do zestawów wyników z poziomu Procedury składowane Transact-SQL SQL Server

  4. Nowe wydanie:pakiet dostrajania Spotlight 7.1.9

  5. Skonfiguruj wysyłanie dzienników programu SQL Server