例如:每次执行多表删除的时候,我都写个事务。比如我删除一个会员,而每个会员对应有不同的类型,分为个人,企业,商家。个人会员可以发简历,商家可以有店铺,企业可以有公司信息。所有我就写了个事务(也就是多表删除)。
当删除的这个会员属于个人类型时,也随之删除这个会员发布的简历信息。当删除的这个会员属于商家类型时,则随之删除这个会员所属的商家(而这个商家又对应多了张表,我也用了事务。。在删除这个会员同时,也会执行删除有关这个商家多张表中的信息)当删除这个会员属于企业类型用户时,同时也删除这个会员所对应的企业(而这个企业又对应了多张表信息...我也用了事务在删除这个会员同时,也会执行删除有关这个企业多张表中的信息)......有很多网友说 最好不要用事务,为什么呢?我觉得用的着事务的地方太多了。有什么弊端吗?求解,求讨论。

解决方案 »

  1.   

    会员表  商家表。会员表中有个商家ID 就行了商家表的ID 跟会员表中商家ID你删除会员 就不需要删除商家了。下次改会员用到这个商家的时候直接更新ID 。实现不重要 我的意思是 清楚逻辑才可以用如果你的需求跟你说的一样 删除会员就必须删除商家 那么就得用事务
      

  2.   

    你用事务是对的,没有问题,我也碰到过说事务不好的,后来才发现才个人对数据库操作不了解,当多表操作时事务必需的,虽然会有一些性能损耗,但几乎可以忽略。事务是保证操作一致性的一种手段,比如银行系统先进转换操作,要从A账户转100万到B账户,操作过程假设只有两为:从A账号减100万;在B账号加100万,如果不用事务,从A账号减100万操作成功,在B账号加100万操作失败,这样就出问题了,如果用事务,在B账号加100万操作失败会使从A账号减100万的操作也不会执行。三样说的是逻辑问题,现在已经明确要多表操作了,楼主的意思是用事务有什么不好