天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

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

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

[复制链接]
purple 发表于 2011-12-6 18:23:50 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2013-1-30 17:28 编辑

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;
}

本版积分规则

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

GMT+8, 2026-8-12 10:45

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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