Я создал программу, которая записывает список семьи.
Записи записываются с учетной карточки.
В учетную карточку. Содержит Предка и его родственника.
У меня есть две таблицы
Таблица 1
Информация о предке, такая как имя, ID (автоинкремент), имя файла, имя пользователя (имя на ПК)
Таблица 2
Информация о родственниках, например, имя, ancestor_id (из таблицы 1)
Программой пользуются 20 человек. Поэтому мне нужно получить идентификатор, сгенерированный при вставке предка, перед вставкой родственников.
иногда в указателе есть 10 родственников. а иногда бывает 20
это моя хранимая процедура
INSERT INTO tbl_ancestor(an,`as`, dd, cn, su, mm, stn, re, yy, st, filename, username, `zipName`, `batchName`, `folderName`, `remark`)
VALUES(_an, _as, _dd, _cn, _su, _mm, _stn, _re, _yy, _st, _fname, _username, _zipName, _batchName, _folderName, _remark);
SELECT ID, filename, username, zipName, batchName, foldername FROM tbl_ancestor;
Но когда запись в базе данных становится 10000
, она ждет в течение 5 секунд сообщения, чтобы сообщить, что данные были сохранены.
Я использую только оператор выбора. Потому что я думал, что это поможет мне решить проблему, если я использую linq
в своем коде c #, чтобы получить идентификатор этого предка, который будет использоваться моими родственниками. Но скорость такая же.
Это ошибка в моем запросе?
или в моих кодах c #?
foreach (var item in tag.RelativeList)
{
using (MySqlCommand cmd = new MySqlCommand("sp_insert_relative", conn)
{
CommandType = System.Data.CommandType.StoredProcedure
})
{
if (conn.State == System.Data.ConnectionState.Closed)
conn.Open();
cmd.Parameters.AddWithValue("_ancestor_id", id);
cmd.Parameters.AddWithValue("_rgn", item.RGN);
cmd.Parameters.AddWithValue("_rsn", item.RSN);
cmd.Parameters.AddWithValue("_sgn", item.SGN);
cmd.Parameters.AddWithValue("_ssn", item.SN);
cmd.Parameters.AddWithValue("_username", tag.Username);
cmd.Parameters.AddWithValue("_fname", System.IO.Path.GetFileName(tag.FileName));
cmd.ExecuteNonQuery();
}
}
Есть ли способ решить это? Чтобы сделать мою программу быстрее? Я не могу придумать способ решить это. Я тоже искал. Но я не могу найти конкретное решение. Или, может быть, я использую неправильное ключевое слово для поиска?