У меня есть таблица базы данных, как показано ниже:
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 записей каждую минуту на моем компьютере.)