以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 【求助】狐表万行数据计算优化请教! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=151285) |
-- 作者:chen_sheng -- 发布时间:2020/6/19 15:01:00 -- 【求助】狐表万行数据计算优化请教! 1、由于应用场景需要 需要进行计算 请求算法指导! A、狐表内计算优化方案 B、sql数据内进行计算优化方案 C、指导一下用哪种方案性能最优 特别说明 附件内的数据请设置sql数据源及数据 谢谢!
|
-- 作者:有点蓝 -- 发布时间:2020/6/19 15:24:00 -- 如果数据已经加载,建议改为在datacolchanged事件处理 |
-- 作者:chen_sheng -- 发布时间:2020/6/19 15:59:00 -- 感谢蓝版的及时指导 应用场景如下 1.订单有多个柜子+其他部件=300个部件 2.每个部件经历20个工序左右 3.每个工序又产不多有5个判断 300*20*5=15000条明细运算 假如DataColChanged事件效率反而不高 目前这种方式运算万行9分钟左右
|
-- 作者:有点蓝 -- 发布时间:2020/6/19 16:09:00 -- 不知道datacolchanged是怎么用的? 如果是逐条录入数据的,基本感觉不出来。如果是批量导入数据的,也就只能这样的了,遍历+sql的方法也未必快多少。 如果不跨表的话,使用这种方式应该会快一点:http://www.foxtable.com/webhelp/topics/1277.htm
|
-- 作者:chen_sheng -- 发布时间:2020/6/19 16:13:00 -- 现在遇到2个问题 1、保存万行数据太久了 计算9分钟 保存差不多9分钟 2、这是用视图+存储过程生成的sql表数据 项目用的只是加载到窗口表而已
[此贴子已经被作者于2020/6/19 16:14:37编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/6/19 16:16:00 -- 如果sql熟练的话,可以考虑把逻辑搬到存储过程里处理。 |
-- 作者:chen_sheng -- 发布时间:2020/6/19 16:48:00 -- 蓝版 sql 只看了狐表帮助 懂的就是帮助的基础部分,能否请教指导一下 这个场景咋处理 或者给下指导思路 计算列:[工序条件] [单价公式] 单价公式例子: case when [家具名称] like \'%酒柜%\' then [平方数]*7 when [家具名称] like \'%博古架%\' then [平方数]*9 when [家具名称] like \'%衣柜%\' then [平方数]*5.5 else [平方数]*7 end 工序条件例子: [家具名称] not like \'%不试装%\' 所有[单价公式] [工序条件]的计算参数条件数据均通过视图+存储过程导入到[生产工票]表内 S ELECT [单号],[行号],[工艺编号],[物料代码],[名称],[长],[宽],[厚],[数量],[操作员] ,[备注],[操作日期],[工序记录],[工艺判断],[ID],[工艺],[颜色],[材质],[输出_满足工序条件] ,[输出_单价],[家具名称],[_Locked],[_Identify],[工序编号],[工序名称],[车间],[单价公式] ,[工序条件],[平方数] FROM [生产工票] [此贴子已经被作者于2020/6/19 17:15:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/6/19 20:29:00 -- 如果要使用sql,先上网学习一下:存储过程怎么建?游标怎么使用?怎么在存储过程里执行动态sql? |
-- 作者:有点蓝 -- 发布时间:2020/6/19 20:31:00 -- 如果经常要这样批量处理数据,建议做个服务端项目,放到服务端定时自动执行。 |