问题
以下代码中:
const workOrderSearch = search.create({
type: 'workorder',
filters: [
['internalid', 'anyof', workOrderIds],
],
columns: [
search.createColumn({ name: 'tranid' }),
]
});
workOrderIds最多可以放多少internal id呢?
经过实际测试
最多理论上无限制,但实际出bug的概率极大,很容易这个条件失效导致搜索出全部的transaction进而超时。在不失效的情况下,全部workorder数据140K条,搜索其中~6000条的情况下,大约耗时15分钟。
最佳方案是把workOrderIds的长度控制在1000以内,这样在总数据140K,按照id搜索其中~6000条,搜索运行6次并把结果拼接,大约耗时3-5分钟。
有待测试的问题
- 对于其他类型的transaction type是否存在一样的现象
- 对于custom record是否存在一样的现象
欢迎补充。
Comments