4*X1+5*X2+6*X3+7*X4
现在X1,X2,X3,X4这四个变量都是范围值
如何用高效的方法获得每次的公式运算值
例如
X1:100~200000
X2:10~300000
X3:0~100000
X4:32~223000
目前正在写的程序比这个复杂得多,但基本意思差不多。所以借用这个问题向各位高手请教。此种类型有没有更高效的方法。
谢谢!!
鞠躬!!

解决方案 »

  1.   

    有一点明白你的意思。现在想想可能我的程序要复杂一些。完全用这个可能不是太能表达清楚。重新表述一下程序内容:
    X1为一个4000多条记录的数据表。表的内容有A1(int),B1(double),C1,D1,E1...
    x2为一个2000多条记录的数据表。表的内容有A2(int),B2(double),C2,D2,E2...
    X3为一个1000多条记录的数据表。表的内容有A3(int),B3(double),C3,D3,E3...
    现在是将三个表的记录取出来计算f(x)=......,如果f(x)在符合的范围内,则将A1,A2,A3,B1,B2,B3输出到指定的格式。这个有点排列组合的意思,全部嵌套循环的话,程序运行时间很长。
      

  2.   

    另外有个递增计算的优化法,就是给每个表设置insert触发器,对新增的记录单独触发f(x)计算,并插入缓存表,缓存表里有以前一次性算好的组合,这样表内记录改动只要计算改动部分,叠加到缓存表里,而程序获取时直接从缓存表中去取。
      

  3.   

      " 给每个表设置insert触发器,对新增的记录单独触发f(x)计算,并插入缓存表,缓存表里有以前一次性算好的组合,这样表内记录改动只要计算改动部分,叠加到缓存表里,而程序获取时直接从缓存表中去取。"  认真考虑了楼上这个提议,觉得这种方法适合表内容固定,有新增加的就将增加的记录提出来计算f(x).可是我自己程序中表中的记录是会发生全部改变的。一个规格的产品就会产生一组新的表格记录。