- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1000行效率优化实践
提纲 1000行效率优化前8名 整体印象 预定单的效率优化实践 调拨订单的效率优化实践 1000行效率优化前8名 单据表体1000行,属于1000个不同存货 整体印象 此数较多的循环,循环体内的细节处理是影响运行效率的关键(比如参数的读取应该在循环外) 公共代码的恰当处理会在比较大的范围内提高效率 客户端缓存的应用 SQL批量处理 公共公式工具的使用(缓存批量加载公式) 必要的时候将数据转移到循环体外批取,存储到临时表,作为数据准备 预定单的效率优化实践 接口被批量的调用,调用者应使用批量的方法以便减少前后台的调用 防止重复的计算 错误调用(接口没用批量的方法) For( int I=0;Iirows.length;I++){ ClientCacheHelper.getColValueBatch(getBillCardPanel(), irows[I], targetitemkey, tname, pkname, field, sourceitemkey); } 1000行耗时3分多 正确调用 ClientCacheHelper.getColValueBatch(getBillCardPanel(), irows, targetitemkey, tname, pkname, field, sourceitemkey); 减少前后台的交互 不正确的调用(判断存货是否折扣劳务类) 后台采用的循环调用,每个存货判断一次,效率极低 可能正确的调用(判断存货是否折扣劳务类) 前台需要加载存货信息,加载存货信息顺便加载存货是否劳务折扣类信息基本上不占用时间。 存货是否折扣劳务类不是随便改变的,如果要求实时性很高的话这种加载可能会有问题。(出现不一致的情况)如果这样的话,就需要在后台提供批量判断的方法 重复的计算 for (int i = 0; i getBillCardPanel().getRowCount(); i++) { getBillCardPanel().setBodyValueAt( new UFDouble(ndiscountrate), i, ndiscountrate); calculateNumber(i, e.getKey()); } 1000行耗时3分钟 避免重复计算(价格换算) boolean bisCalculate = getBillCardPanel().getBillModel() .isNeedCalculate(); getBillCardPanel().getBillModel().setNeedCalculate(false); for (int i = 0; i getBillCardPanel().getRowCount(); i++) { getBillCardPanel().setBodyValueAt( new UFDouble(ndiscountrate), i, ndiscountrate); calculateNumber(i, e.getKey()); } getBillCardPanel().getBillModel().setNeedCalculate(bisCalculate); 调拨订单的效率优化实践 声明 由于以前的代码里犯了很多常见的错误, 所以这次的效率优化才显得“成效明显”。 以下所谓的优化经验,都是老生常谈的 内容,望能给大家提个醒,别犯这样的 错误就是了。 问题分析 调拨订单行存货编辑后要做的事情: 从缓存里得到存货在出货/调出/调入公司的存货管理档案id,检查存货在出货/调出/调入组织是否存在 从缓存里获取存货的编码,名称,计量单位等信息 获得基本档案中的调拨关系,根据调拨关系上的价格规则进行询价 查询光标所在行存货的可用量和现存量 糟糕的是,原来的代码把前三步都放在循环里完成了…… 优化思路 减少数据库访问次数,减少远程调用次数, 尽量批量的获取信息 实际的优化工作 从缓存里批量得到存货的相关信息,如编码,名称,计量单位,销售计量单位等 一次得到所需的调拨关系。 查询存货现存量和可用量的远程调用次数合并为一次 往单据模板上放数的时候,先关掉合计的开关,等所有操作结束后再打开,并计算合计 谢谢! www . ufsoft . com 1000行效率优化实践 演讲人 :刘兵、袁红梅 时 间 : 2005.4.28 www . ufsoft . com
您可能关注的文档
- 07-04级本科兽医临床诊断学--泌尿生殖系统的检查.ppt
- 07-08民族学概论.ppt
- 07-33模糊图像处理.ppt
- 07-同步回修.ppt
- 07-仙境风光.ppt
- 07-决策表测试.ppt
- 07-心理与教育测量问卷的编制与实施.ppt
- 07-特殊中间继电器特殊寄存器介绍.ppt
- 07-资材部月报告.ppt
- 07-轴测投影.ppt
- 1.1细胞是生命活动的基本单位课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 1.2细胞的多样性和统一性第1课时课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 第16课《白杨礼赞》课件-2025-2026学年统编版语文八年级上册.pptx
- 2026届高三生物一轮复习课件+减数分裂与生物的遗传、变异.pptx
- 3.1细胞膜的结构和功能第2课时课件-2025-2026学年高一上学期生物人教版必修1.pptx
- 2025届高三生物一轮复习课件2.1减数分裂和受精作用.ppt
- 中考语文二轮专题复习课件:新闻概括题.pptx
- 第6课《我看》课件+++2025-2026学年统编版语文九年级上册.pptx
- 第21课《人民英雄永存不朽》课件-2025-2026学年统编版语文八年级上册.pptx
- 2025年广西河池罗城特聘农机技术指导员的(1人)考前自测高频考点模拟试题含答案详解(b卷).docx
最近下载
- 神经内科三基考试题及答案.doc VIP
- 等离子体物理与当代高新技术(本科生).ppt VIP
- SMTC 2 800 003 LIN节点设计需求LIN node design requirements(20180730).pdf
- 医院医院安保服务及停车场运营管理服务招标文件.pdf
- (必威体育精装版)社区网格员考试试题(含答案).docx VIP
- 老小区燃气管道改造监理实施细则.docx VIP
- 中国行业标准 YY/T 1831-2021梅毒螺旋体抗体检测试剂盒(免疫层析法).pdf
- Walkera华科尔无人机FCS-F8使用指南_CN_V1.2_2020.10.12(金属壳版).pdf
- 五升六数学暑假作业60天附答案.docx VIP
- 高中物理:强基计划专题讲座.pptx VIP
文档评论(0)