网站开发过程中一个页面多个模块如何才能高效的使用SQL查询

作者:丑寄南 发布:2023-03-08 16:45:58 522浏览

小编在开发实际过程中遇到这么一个问题,开发的是一个电商系统,那么在首页确定模块的情况下如何更高效的查询数据并绑定呢?

一、首页模块假定首页模块已经固定,有热门推荐商品、热门推荐文章、热门问答等我们需要确定这些模块固定的Code或Id值现确定对应的值如下热门推荐商品

(1)、热门推荐文章

(2)、热门问答

(3)页面结构图

二、正常在ASP.NETMVC中要查询这么一个页面的数据通常有两种情况

1)定义一个ViewModel包含了这个页面所有的数据类型

2)Ajax多次请求加载不同模块的数据那么来说说以上两种情况的优点和缺点使用ViewModel一次性加载数据,一次请求的服务端的业务操作比较多,用户等待时间可能比较长使用Ajax多次请求存在一个问题,用户访问一旦多了之后,每次请求都会请求多次服务端接口,同样Web服务和数据库服务端压力都将增加那么就需要按照实际需求去选择应该选择那种方式了,两者都可以。

以下我们就来讲下,如果选择ViewModel一次性绑定数据的查询优化可以参考下面的方案本次涉及到首页的数据库有两个A)Recommend表,用于存储推送到首页的数据热门推荐商品

(1)、热门推荐文章

(2)、热门问答

(3)这些数据都存储在这个表,对应的1,2,3就是对应Module这个字段数据结构如下Recommend表结构B)Links表,用于存储友情链接Links表结构通常的方案就是每次查询一次数据库保存到内存中,然后查询数据库后一次返回数据,但是这样会有一个弊端,不停的Open和Close数据库,可谓浪费了很多资源,因此今天介绍的就是一次查询出所有的数据,然后到Service业务层去进行拆分数据,随后再返回。

语句如下(这样做,即使两个表不同数据结构,也是可以一次查出来的,只要梳理出共同的,页面需要的数据结构即可)(语句写的并不全,意思到了O(∩∩)O)具体查询范例语句见

① 本文仅代表作者个人观点,不代表猪八戒网立场。

② 本文经授权发布,未经许可,请勿转载。如有需要,请联系猪八戒官方。

推荐阅读 RECOMMENDED READING