sql >> Database >  >> RDS >> Sqlserver

Voeg snel 2 miljoen rijen in SQL Server in

  1. Ik denk dat het beter is om de gegevens van het tekstbestand in DataSet te lezen

  2. Probeer SqlBulkCopy . uit - Bulksgewijs invoegen in SQL vanuit de C#-app

    // 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();
    

of

na het uitvoeren van stap 1 bovenaan

  1. XML maken van DataSet
  2. XML doorgeven aan database en bulksgewijs invoegen

u kunt dit artikel raadplegen voor meer informatie:Bulk invoegen van gegevens met behulp van C# DataTable en SQL-server Open XML-functie

Maar het is niet getest met 2 miljoen records, het zal alleen geheugen op de machine verbruiken, omdat u 2 miljoen records moet laden en invoegen.



  1. MariaDB SESSION_USER() uitgelegd

  2. Controleer of de reeks bestaat in Postgres (plpgsql)

  3. Een failback-bewerking uitvoeren voor de installatie van MySQL-replicatie

  4. Een optie toevoegen aan sql_mode in MySQL zonder bestaande instellingen te verliezen