Как вставить 20 миллионов записей в базу данных MySql как можно быстрее

У меня есть таблица базы данных, как показано ниже:

create table temperature
(id int unsigned not null auto_increment primary key,
temperature double
);

И в моей программе у меня есть около 20 миллионов температур для вставки в таблицу. Я работаю в среде .Net, использую Connector/Net для подключения к MySql. Код выглядит следующим образом:

List<double> temps = new List<double>();
...
string connStr = "server=localhost;user=name;database=test;port=3306;password=*****;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
    conn.Open();

    //temps.Count is about 20 million
    for (int i = 0; i < temps.Count; i++)
    {
        string sql1 = "INSERT INTO temperature VALUES (null, "+temps[i]+")";
        MySqlCommand cmd1 = new MySqlCommand(sql1, conn);
        cmd1.ExecuteNonQuery();
    }

}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
conn.Close();

Как я могу вставить так много строк данных как можно быстрее? (На моем компьютере он может вставлять только 2000 записей каждую минуту)

6
задан Hancy 12 December 2011 в 13:16
поделиться