1

我在 ax 2009 中有一个表格,显示了一个表的过滤记录(总共大约 5.000.000 条记录,大约 1000 条显示过滤)。在表单中选择其中几条记录并通过表单控制 ( alt+ f9) 删除它们非常慢。一条记录立即删除,选择20条左右需要几分钟!桌子上只有一个 deleteAction - 知道什么会阻止操作吗?

编辑:

有关表有两个索引,都不允许重复。第一个是整数字段的索引,第二个是三个字段的组合之一。

createRedIdIndex 未激活。

过滤器使用 queryBuildRange 中的一列 (employeeID)。

deleteAction:另一个表 (B) 引用了提到的表 (A) 的 id (indexed)。A 在 B 上有一个 deleteAction。设置为“级联”

这两个表通过 id-field 关联。

这些关系可以通过索引来解决。

而且我想删除的只是大约 20 条记录 - 所以我不符合这个想法,即“要删除的数据量”太大了!

4

3 回答 3

1

也看看这个:http: //blogs.msdn.com/b/emeadaxsupport/archive/2010/07/12/forms-with-a-high-number-of-records-take-a-significant-time -to-show.aspx

考虑添加

grid.autoSizeColumns(false);

正如文章中所建议的那样。

于 2010-08-04T14:05:15.117 回答
0

使用代码分析器查看时间的使用情况。

于 2010-07-29T06:44:05.773 回答
0

在 AX 中诊断数据库性能问题,在 SQL 标签页的 Tools\Setup 中启用 SQL 跟踪。

于 2010-07-08T11:52:06.573 回答