microsoft-dynamics - 其中哪一个更好更快?
问题描述
关于性能,哪一个是“最好的”和最快的?
是否存在我们不应该使用它们中的任何一个甚至只使用其中一个的情况?毕竟,每个人都扮演着同样的角色。
- 记录插入列表
- 插入记录集
- 工作单位
记录插入列表
RecordInsertList insertList = new RecordInsertList(tableNum(TableExample));
// some business logic...
insertList.add(buffer1);
insertList.add(buffer2);
insertList.add(buffer3);
insertList.insertDataBase();
插入记录集
insert_recordset buffer (myNum, mySum)
select myNum, sum(myValue) from otherBuffer
group by myNum
where otherBuffer.myNum == 100;
工作单位
UnitOfWork uow = new UnitOfWork();
// some business logic...
uow.insertOnSaveChanges(buffer1);
uow.insertOnSaveChanges(buffer2);
uow.insertOnSaveChanges(buffer3);
uow.saveChanges();
解决方案
insert_recordset
比RecordInsertList
(请参阅优化记录插入)更快(但功能也更有限)。UnitOfWork
更多的是关于数据完整性而不是性能(请参阅如何:使用 UnitOfWork 类来管理数据库事务)。我不知道它的性能如何比较。AX 2012 UnitOfWork Performance Series Part 5似乎已经涵盖了这一点,但不再可用。我想一个类似于AX Performance Insert vs RecordInsertList描述的快速测试工作应该给出一些提示。
这包括“最快”。“最佳”是另一个问题,如果没有有关您情况的更多信息,我无法客观地回答。
就个人而言,insert_recordset
如果可能的RecordInsertList
话,我会去。我从来没有理由使用UnitOfWork
.
推荐阅读
- java - 我想读取一个文件并检查一个单词是否存在于文件中。如果该词存在,我的一种方法将返回 +1
- database - 在 Tkinter GUI 中显示 SQLite 数据
- c - C递归练习不会显示输出
- java - 下面是代码片段和错误消息,为什么编译器要求这个默认构造函数?
- python - 如何计算 Pandas Dataframe 中的唯一值?
- python - python中抽认卡游戏的评分函数
- java - 你如何过滤掉标签?
- angular - 使用 AWS Cognito 对前端应用程序进行基于角色的授权
- scala - 将按键分组的序列展开为未分组序列的列表,并在 Scala 中附加了键
- swift - 如何在 google colab 上创建一个 swift notebook