【发布时间】:2010-07-01 08:33:32
【问题描述】:
我在 ax 2009 中有一个表格,显示表格的过滤记录(总共大约 5.000.000 条记录,大约 1000 条显示过滤)。 在表单中选择其中几条记录并通过表单控制 (alt+f9) 删除它们非常慢。 一条记录立即删除,选择20条左右需要几分钟! 桌子上只有一个 deleteAction - 知道什么会阻止该操作吗?
编辑:
关于表有两个索引,都不允许重复。第一个是整数字段的索引,第二个是三个字段的组合。
createRedIdIndex 未激活。
过滤器使用 queryBuildRange 中的一列 (employeeID)。
deleteAction:另一个表 (B) 引用了提到的表 (A) 的 id (indexed)。 A 在 B 上有一个 deleteAction。设置是“级联”
这两个表通过 id-field 关联。
关系可以通过索引来解决。
而且我想删除的只是大约 20 条记录 - 所以我不符合“要删除的数据量”太大的想法!
【问题讨论】:
-
描述您的索引。索引是否唯一?是否启用了 RecIdIndex?描述你的过滤器。您的过滤器是否由索引解析?描述你的 deleteAction。表有关系吗?关系可以通过索引来解决吗?
-
事务中的item会被移除,可能是你移除的数据量太大。
-
原帖中的更新信息
-
过滤器使用一列(employeeID):是否有以employeeId为第一个字段的索引?
-
employeeID 的正确 AX 名称应该是 EmplId(如果它链接到 EmplTable)。
标签: axapta record delete-record