找回密码
 注册成为天翎用户
查看: 360|回复: 1

[已解决] 视图查询效率解决方案【函数-queryByDQLWithCache】

[复制链接]
吴思敏 发表于 2021-7-7 09:25:54 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v4.4- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:









1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
 楼主| 吴思敏 发表于 2021-7-7 09:26:31 | 显示全部楼层
Q:当视图列信息有下拉框或者通过脚本得到值,查询效率慢,怎么解决?

A:后台直接读取出来的是真实值,每次需要将您的真实值转换成显示值,所以会导致有多少条数据,就需要查询多少次,是计算脚本,也需要先查询数据库的值,然后计算。这两种情况,导致查询效率受到影响,数据量比较大,建议使用缓存模式,调用queryByDQLWithCache方法。参考脚本如下:
function getOptionsWhere(formName, fieldName, fieldId, andSQL,andSQL2) {
var opts = $TOOLS.createOptions(); opts.add("", "");
var dql = "$formname='" + formName + "'";
if (andSQL) {
dql += " and " + andSQL;
} if (andSQL2) {
dql += " " + andSQL2;
}
var docs = queryByDQLWithCache(dql);
for (var iter = docs.iterator(); iter.hasNext();) {
var doc = iter.next(); var dst_name = doc.getItemValueAsString(fieldName);
var dst_code = doc.getItemValueAsString(fieldId); opts.add(dst_name, dst_code);
}
return opts;
}
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 23:09

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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