100% с тем, что сказал MarkR. autocommit делает каждый оператор транзакцией одного оператора.
SHOW ENGINE INNODB STATUS
должен дать вам некоторые подсказки относительно причины взаимоблокировки. Посмотрите также на свой журнал медленных запросов, чтобы узнать, что еще запрашивает таблица, и попытайтесь удалить все, что делает полную таблицу. Блокировка уровня строк работает хорошо, но не тогда, когда вы пытаетесь заблокировать все строки!
Принятие идентификатора уникально:
var result = xmldoc.Element("Customers")
.Elements("Customer")
.Single(x => (int?)x.Attribute("ID") == 2);
Вы могли также использовать First
, FirstOrDefault
, SingleOrDefault
или Where
, вместо Single
для различных обстоятельств.
Я использовал бы что-то как:
dim customer = (from c in xmldoc...<Customer>
where c.<ID>.Value=22
select c).SingleOrDefault
Редактирование:
пропустил тег c#, извините...... пример находится в VB.NET