程序中通过一个参数m调用某个存储过程获取数据。
由于要取得的数据要经过大量的筛选、处理,所以该存储过程执行的速度有点慢。
目前想到的方法是预先把所有的数据查询出来放在一张A表里面,然后存储过程直接读取A表的数据,再根据参数m进行过滤,这样速度确实很快。
(1)建立一个作业,改作业每天凌晨12点执行。首先清空表A的数据,再向表A插入数据。
但是这样的话数据的实时性不能得到保证,因为在作业执行前如果修改了某些数据,而这时候由于作业没有执行,A表里面的数据没有更新,那么程序读到的A表的数据还是历史数据。
有没有什么方法可以解决??

解决方案 »

  1.   

    没明白,不是说建立一个作业,改作业每天凌晨12点执行。首先清空表A的数据,再向表A插入数据,
    下面再执行存贮过程就OK了,
    但又说:作业执行前如果修改了某些数据,而这时候由于作业没有执行,A表里面的数据没有更新
    作业时只能取作业时的数据,凌晨12点应该没什么人操作了,应该不存在这种情况啊
      

  2.   

    作业是定时跑的,你修改的数据没有反映新建的表里。这是很正常的问题。。
    有两种解决方案,
         第一种不要用新表,直接用存储过程。
         第二种就是用作业,但如果有数据修改的话,立马跑Job.保证实时性.(这个不采用)
        第三种建立触发器,表中有数据修改的话,就跑Job