我正在寻找意见和替代想法,因为我正在做的是工作,但想问它是否是最佳的
我有一个站点,当调用索引处理程序时,它会使用来自数据库表的特定查询填充请求集合,以便我可以构建下拉列表供用户选择。
我正在查询两个模型并将它们的结果放入各自的变量中,然后在视图中循环它们以创建下拉菜单
索引处理程序
function index(event, rc, prc){
event.paramValue("debug",0);
rc.stages = getmodel("tms_proposal_stage").select();
rc.plannedGiftTypes = getmodel("tms_funding_type").select();
event.setLayout('layout.bootstrap');
}
索引视图
<div class="form-group">
<label for="proposal_stage" class="control-label">Proposal Stage Code</label>
<select id="proposal_stage" name="proposal_stage" class="form-control">
<cfloop query="rc.stages">
<option value="#stage_code#">#short_desc#</option>
</cfloop>
</select>
</div>
我知道两个查询的成本并不高,但是如果我需要运行其中的 100 个查询,就会出现可伸缩性问题。这些查询结果集变化不大,所以我在想,这些不应该被缓存或存储并以不同的方式访问吗?
我想到了html5本地存储,我用过但在这方面没有。我还考虑过创建一个新的处理函数来进行所有这些数据库调用并被缓存,然后被其他函数引用
无论如何,所有想法都值得赞赏