我有一个内部搜索引擎的网站,搜索具有年龄,身高等特定参数的用户....有数千名用户因此我决定使用高级CTE以便每次检索10条记录减少MSSQL服务器上的负载。
在这个CTE中,我通过页面获得结果(即每页10条记录),同时通过用户的lastVisit进行排序。
问题是我不能使用默认的asp.net构建它的寻呼机控件所以我已经使我的工作正常但我需要在每次搜索生成时获得整个结果集中的页面数量因此我首先得到结果设置然后最大记录数,以便我可以将其除以10,以获得要在我的寻呼机控制器中使用的最新页码。
所以每次页面加载时都会进行两次db调用,而我想在用户只是用相同的搜索参数切换页面时避免不必要的记录量。
你会如何建议这样做?
答案 0 :(得分:1)
缓存结果总数,例如通过分配一些(用户相关的)令牌并在用户分页时将其传递回服务器?您也可以通过这种方式缓存结果集。