如何有效解决数据库事务中的不可重复读、幻读和脏读问题?