У нас загадочные проблемы с сетью в MySQL. Простой запрос на обновление (обновление одной строки с использованием индекса) обычно выполняется немедленно, а иногда (скажем, 1 на 1000 раз) происходит сбой с таймаутом. То же самое с простым запросом вставки. База данных не перегружена.
Мы подозреваем проблемы с сетью и ищем решение, поэтому, если у кого-то возникли проблемы такого рода, я бы определенно об этом подумал.
Теперь к главному. Что еще хуже, запрос вставки не выполняется во время фиксации транзакции (у нас есть несколько похожих запросов, но это происходит даже в самом простом - просто одна вставка в одну таблицу, без блокировок, ничего). Когда это происходит, транзакция. Коммит выдает исключение. Мы перехватываем его и предполагаем, что транзакция была отменена, и снова пытаемся вставить данные.
Результат - две строки с одинаковыми данными в таблице. Какие предположения возможны в случае неудачной фиксации? Был вставлен ряд или нет? Это ошибка поведения в MySql Connector / Net или это дизайн. Любой совет (кроме проверки вручную, есть ли данные в таблице или нет)?
Спасибо заранее.
Бранко
p.s.
Я отправил это же сообщение на форум MySQL .NET Connector. Я прошу прощения, если это кого-то беспокоит, но я впадаю в отчаяние. O: -)