EAS二次开发语句优化之BOTP语句
来源:互联网 发布:淘宝周大生是真的吗 编辑:程序博客网 时间:2024/06/07 19:21
1、进行ADDM分析时,发现一个IO较高的语句:
DELETE FROM T_BOT_RELATION
WHERE (FSRCOBJECTID ='G0Ae4JdpSQ6tO2IwJ4MtYZNwHqg='OR
FDESTOBJECTID = 'G0Ae4JdpSQ6tO2IwJ4MtYZNwHqg=')
分析语句,定位到业务是删除BOTP记录的。这样的每次执行的时候,都会全表扫描T_BOT_RELATION,而这张表的数据量已经到了10G的级别了。效率低下,执行语句需要约20S.
2、经过与金蝶沟通,确定为二次开发的代码,所以对二次开发的代码进行了一遍审核,发现了该段sql来源于二次开发中了cybill类。
3、将其中的代码修改为:
DELETE FROM T_BOT_RELATION
WHERE FIDIN (SELECT FIDFROM T_BOT_RELATIONWHERE
FSRCOBJECTID = ?
UNION ALL
SELECT FIDFROM T_BOT_RELATIONWHERE
FDESTOBJECTID = ?)
这样就能够通过索引来进行快速的删除了。每次删除一个BOTP记录从目前的20秒提升至0.01秒。
4、经过对二次开发涉及到BOTP的单据进行测试,删除单据的效率从原来的4分钟/10单提升至20S/10单,极大的提升了效率。
0 0
- EAS二次开发语句优化之BOTP语句
- 金蝶EAS,BOTP单据转换规则,公式参数中使用SQL语句
- EAS优化-读卡语句优化
- mysql之语句优化
- EAS客户端上面找不到botp规则转换
- sql语句优化之降龙十八掌
- mysql优化之EXPLAIN语句
- Oracle之sql语句优化
- Oracle之sql语句优化
- SQL语句优化之降龙十八掌
- MySql 优化之like语句
- MySql之优化查询语句
- sql语句优化之索引
- 数据库性能优化之SQL语句优化
- ORACLE性能优化之SQL语句优化
- ORACLE性能优化之SQL语句优化
- mysql优化之sql语句优化
- 数据库性能优化之SQL语句优化
- Android HAL实例解析
- iPhone开发技巧之网络篇(1)--- 解析XML
- android WebView 页面刷新不了解决方法
- leetcode - Subsets II
- Spring多数据源配置
- EAS二次开发语句优化之BOTP语句
- 年轻工程师如何锻炼成高手的
- Lucene的Document
- 如何让自己的员工和团队充满激情
- mudflap/address sanitizer
- [转]SSL与OpenSSL介绍
- 设置socket
- C++中引用(&)(来自http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html)
- label 发光效果