Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara paling efisien untuk memasukkan Baris ke dalam Database MySQL

Ini adalah kode "banyak sisipan" saya.

Penyisipan 100 ribu baris hanya membutuhkan waktu 3 detik, bukannya 40 detik, !!

public static void BulkToMySQL()
{
    string ConnectionString = "server=192.168.1xxx";
    StringBuilder sCommand = new StringBuilder("INSERT INTO User (FirstName, LastName) VALUES ");           
    using (MySqlConnection mConnection = new MySqlConnection(ConnectionString))
    {
        List<string> Rows = new List<string>();
        for (int i = 0; i < 100000; i++)
        {
            Rows.Add(string.Format("('{0}','{1}')", MySqlHelper.EscapeString("test"), MySqlHelper.EscapeString("test")));
        }
        sCommand.Append(string.Join(",", Rows));
        sCommand.Append(";");
        mConnection.Open();
        using (MySqlCommand myCmd = new MySqlCommand(sCommand.ToString(), mConnection))
        {
            myCmd.CommandType = CommandType.Text;
            myCmd.ExecuteNonQuery();
        }
    }
}

Pernyataan SQL yang dibuat terlihat seperti ini:

INSERT INTO User (FirstName, LastName) VALUES ('test','test'),('test','test'),... ;

Perbarui :Terima kasih Salman A Saya menambahkan MySQLHelper.EscapeString untuk menghindari injeksi kode yang digunakan secara internal saat Anda menggunakan parameter.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi jarak jauh MySQL gagal dengan metode otentikasi yang tidak diketahui

  2. Sisipan massal dengan SQLAlchemy ORM

  3. MySQL - Pemicu untuk memperbarui tabel yang sama setelah dimasukkan

  4. Lima aplikasi perangkat lunak teratas untuk mengakses server MySQL/MariaDB

  5. MySQL Menyukai banyak nilai