Есть ли недостатки у транзакций?
Непосредственно от внедрения транзакций ничего медленнее работать не начинает.
Замедление может быть от двух вещей:
a) если транзакции используются бездумно, например транзакция не завершается в момент когда она должна быть завершена по бизнес логике - соответственно записи блокируются на лишнее время, другой поток не может их изменить.
б) если выставлены жесткие настройки сохранения на дискА почему так происходит?
Михаил: потому что запись на диск - дорогая процедура. Но вообще необходимость этого зависит от непосредственно бизнеслогики приложения и требуемой консистентности.
Одно дело если у вас в транзакции финансовые данные, другое дело если вы условный чатик делаете.
Настоящие транзакции надо сразу сбрасывать на диск, на примере innodb производительность падает приблизительно в 100-200 раз при такой настройке