如何把握SQL与业务代码之间的交互

以前经常被两个问题困惑.....

假设一个页面需要多条数据(sql不同),怎样去操作更好?

1.ajax请求处理所有的业务,然后返回。

2.每一个所需数据都单独发送一个ajax,然后返回。

经过对业务的加深及测试,对比如下

第一种方案,降低了服务器压力(如果同时又1000万用户同时操作,第一种方案服务器压力相对来说更小)

第二种方案,加快了查询效率(相对于一个ajax请求执行多个sql操作来说,一个ajax请求执行一个sql操作效率更高)

sql与业务,是一对一好的关系好?还是一对多的关系好?

1.一对

2.一对多

以前常听大佬们说,能用一条sql处理的地方就不要用多条sql处理。

经过三年的开发经验(额。。感觉自己目前只能被称作码农)感觉终于理解这句话含义:

一条sql如果能做多条sql能做的事,并且查询效率更高的情况下,这句话是符合的。反之,如果一条sql查询效率更低,则将其拆解成多条sql执行。

言归正传,其上对比如下

一对一,降低了耦合度,后期可维护性提高。

一对多,提高了可复用性,但是后期高耦合问题会越来越明显(比如根据业务修改了一个sql,造成其他引用异常,引发的连锁反应)。

因此,如果是绝对不会修改,或业务性不强相对简单的sql,一对多,灵活的运用封装,相对较好。(适合复用的下拉列表数据等...)

如果业务性较强,相对复杂的sql,一对一避免后期牵一发而动全身。(再次提醒能用一条sql处理的地方就不要用多条sql处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值