Я знаю, что транзакции базы данных используются, чтобы гарантировать, что все операторы в транзакции будут выполнены, или ни одна из них не будет.
Но как насчет блокировки и безопасности потоков, например, если у меня есть sproc, который влияет на несколько таблиц, и я использую транзакцию в этом sproc, этот sproc вызывается из разных клиентов одновременно, транзакции будут работать параллельно или они будут в очереди? Другими словами, гарантирует ли использование транзакции, что она «заблокирует» всех других клиентов и заставит их ждать завершения транзакции?
Также есть ли различия между транзакциями базы данных в SQL Server и MySQL? Я имею в виду, как они работают.