Привет всем Ниже приведен сценарий проблема:транзакции и блокировки с несколькими потоками
Я использую MYSQL (Innodb двигателя), один из моего приложения (C++/MYSQLCAPI) делает следующие операции:
СНВ СДЕЛКА
усеченного my_table
нагрузка входной_файла данных в таблице my_table.
если оба выше команда [усечь и нагрузку] является успешной, то COMMIT
еще ROLLBACK
теперь другое приложение (С ++/MYSQLCAPI), который читает эту таблицу в каждой секунде следующая команда.
выберите * из my_table
ОШИБКИ: в этом прочитало попытку когда-то он получает 0 данных, что может быть причиной этого?
Я думаю, что читатель не получает данных, потому что он пытается установить блокировку чтения (зависит от уровня изоляции) и не получает блокировку из-за вашей транзакции. Поэтому он мог попытаться повторить с нолоком. – user743414
нет, приложение-считыватель не блокирует. – birubisht