Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Бързо вмъкнете 2 милиона реда в SQL Server

  1. Мисля, че е по-добре да четете данни от текстов файл в DataSet

  2. Изпробвайте SqlBulkCopy - Групово вмъкване в SQL от приложението 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();
    

или

след като направите стъпка 1 в горната част

  1. Създайте XML от DataSet
  2. Предайте XML към базата данни и направете групово вмъкване

можете да проверите тази статия за подробности:групово вмъкване на данни с помощта на C# DataTable и функцията на SQL сървър OpenXML

Но не е тестван с 2 милиона записа, той ще направи, но ще консумира памет на машината, тъй като трябва да заредите 2 милиона записа и да го вмъкнете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инструкция CASE WHEN за клауза ORDER BY

  2. Импортиране на excel файлове с променливи заглавки

  3. Използване на разширени събития за регистриране на остарели функции, използвани в екземпляр на SQL сървър (пример за T-SQL)

  4. Връщане на процент от набор от резултати в SQL Server

  5. Как да стартирате съхранена процедура всеки ден в SQL Server Express Edition?