点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我需要使用cron作业从...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我需要使用cron作业从...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我需要使用cron作业从数据库中删除所有过期的价格行。
我当前正在做的是获取此类PriceRowModels的列表,并将其传递给modelService.removeAll()函数。 型号数量为1,300,000+。 这项工作进行了2个多小时,不得不中止,而计数的变化仅为4。
即 之前:1,300,004
之后:1,300,000
现在,当作业运行时,我一直在查询,并且计数完全没有变化。 我也尝试过将总数减少到83,000+,但仍然是同一问题。
知道为什么会这样吗?
此外,最好只是迭代模型列表并一次对一个模型使用remove()函数?
谢谢。
ModelService.removeAll()实际上只是为列表中的每个模型调用ModelService.remove()(或上次我检查过),这意味着它会为每个项目触发一个单独的SQL查询。 如果您的应用程序服务器与数据库之间的等待时间甚至是1毫秒,那么每个要删除的项目就是1毫秒EXTRA,甚至不算处理单独查询的额外开销。
我能够做到这一点的最快方法是创建一个批处理模式ImpEx脚本,该脚本将以更快的方式擦除表。 然后,您可以从代码中触发此ImpEx(使用旧版模式),并且应该合理地快速删除这些项目。
谢谢James
一周热门 更多>