几何尺寸与公差论坛

 找回密码
 注册
查看: 575|回复: 2

提示无法 表达式求值,因为以前的函数计算已超时

  [复制链接]
发表于 2023-7-5 17:11:16 | 显示全部楼层 |阅读模式
提示无法 表达式求值,因为以前的函数计算已超时。必须继续执行才能重新启用函数计算。如何修复上述代码
                result = MSSQLDataHelper.SugarScope.Queryable<WaferResultData>().Where(item => item.InspectionTime >= StartTime.Value && item.InspectionTime <= EndTime.Value).OrderBy(w => w.InspectionTime, OrderByType.Desc);
 楼主| 发表于 2023-7-5 17:11:37 | 显示全部楼层
这个错误通常是由于查询的数据量太大,导致查询时间超时而引起的。为了修复这个问题,可以尝试以下几种方法:

增加查询超时时间:可以通过设置查询超时时间来延长查询的时间,以便完成查询。可以使用MSSQLDataHelper.SugarScope的WithTimeout方法来设置查询超时时间,例如:
result = MSSQLDataHelper.SugarScope.Queryable<WaferResultData>().WithTimeout(60).Where(item => item.InspectionTime >= StartTime.Value && item.InspectionTime <= EndTime.Value).OrderBy(w => w.InspectionTime, OrderByType.Desc);

这里将查询超时时间设置为60秒。

分页查询:如果查询的数据量太大,可以考虑使用分页查询来减少查询的数据量。可以使用MSSQLDataHelper.SugarScope的Skip和Take方法来实现分页查询,例如:
result = MSSQLDataHelper.SugarScope.Queryable<WaferResultData>().Where(item => item.InspectionTime >= StartTime.Value && item.InspectionTime <= EndTime.Value).OrderBy(w => w.InspectionTime, OrderByType.Desc).Skip(0).Take(100);

这里将查询结果分为100条一页,查询第一页的数据。

优化查询语句:如果查询的数据量仍然很大,可以考虑优化查询语句,以减少查询的数据量。可以使用索引、缓存等技术来优化查询语句,以提高查询效率。
 楼主| 发表于 2023-7-5 17:13:59 | 显示全部楼层
临时解决方案:1.暴力删除了数据量太大的表
2. 缺陷检测结果存成xml格式,或循环重复老化测试时只存储最后一次检测结果,目前的问题是缺陷量数据太大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-6 23:01 , Processed in 0.036353 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表