这个就用触发器把,建一个 insert 触发器就可以

解决方案 »

  1.   

    这个,个人觉得没什么用呀!B表在高频更新,求的sum肯定一直在变动,就算此刻你看到了一个sum值,但下一刻马上又变了,那这个数据能起到什么作用
      

  2.   

    数据有上亿  
    取这个sum值肯定是有用的啊  数据是一个金额数据  需要不断获取这个数据的总金额
    yupeigu的意思是建立索引和触发器?
      

  3.   


    对的,触发器能实现你的需求,另外,索引能加快速度。因为这种同步的需求,首先,不是跨越服务器的,一般跨越服务器的,可以考虑用数据库同步(异步)、镜像(同步)、日志传送(异步)等技术。而你现在是在同一台服务器上,要同步2个表的数据,所以用触发器是最合适的,而且触发器本身的特性是,在同一个事务中,只要你的数据插入成功,那么另一个表的数据,也就是同步成功了,同样的,如果插入失败,报错,那么另一个表的数据也不会同步成功。再有,就是效率的问题,如果每次都sum求和,而你的表里是上亿的数据,这个sum肯定是非常耗时的,所以这里采用的是,你插入1条数据,那么只要把这个插入的数据,通过update 表 set c = c + 插入的值
    那么自然就加快了速度,而且不会出现并发的问题。如果还想进一步加快速度,那么可以考虑,给A表建立索引,因为a表肯定记录也不会少,而且肯定是通过where条件来定义某一条记录,然后update ,这个时候通过索引,就能更快的找到这条记录,然后update
      

  4.   

    非常感谢yupeigu的热心帮助,按你的方法做的 效果不错, 结贴。。