在很多应用软件里面都有 凭证制作这个功能,就是把业务单据 通过凭证制作功能转成 凭证单据。
如有业务单据数据量很多,那么在凭证制作这个过程的压力很大,业务单据转成凭证的目前现有的方案是 先将业务单据 转成 科目明细列表,然后在把科目明细列表 生成凭证。 现在我这两部都是在 后台处理,就是交给SQL 来处理,如果数据过大话 这样SQL 处理压力过大。
 
这里想问下做这个这种软件的大侠 给点方案,看有没有好的介意来缓解这个数据量的压力。金蝶、用友、管家婆 这些是真么处理的,也是SQL 来全部处理吗。

解决方案 »

  1.   

    你这个似乎说不通,不知你如何处理,会导致SQL压力过大。所谓凭证就是将业务数据记录插入到财务数据对应表中的一条或多条记录。即可放在客户端做,也可放到服务器处理。客户端可放到业务记录POST后插入凭证记录,服务器端可用触发器插入凭证记录。
      

  2.   

    我说的不是一张业务单据生成凭证,而且 几万张业务单据一次性 按单生成凭证这种情况。这个过程 可能光SQL存储过程都要执行 10多分钟以上。
      

  3.   

    你几万张的业务数据也不是一次性生成的。每张业务单据生成后可以同时生成财务凭证。另外有的ERP系统生产数据与财务数据分开不同步,不同时生成凭证。但这种情况一般可在下班时间(如中午、晚上)进行批处理生成凭证。
      

  4.   

    批量 插入几万条数据,要不了多久时间啊。
    何况数据都在同一服务器上。
    先手工选择要生成凭证的数据,打上标记。
    然后用 SQL 一次性插入到对应的凭证表上。不要使用SQL一条条提交。
    才几万条数据,应该用秒计时。