c#逻辑处理是交给数据库还是程序
答案:2 悬赏:70 手机版
解决时间 2021-03-23 17:40
- 提问者网友:不爱我么
- 2021-03-23 10:19
c#逻辑处理是交给数据库还是程序
最佳答案
- 五星知识达人网友:平生事
- 2021-03-23 11:38
这个要看实际情况,具体分析。
目前,大部分主流应用的开发,逻辑处理是放在程序中处理的,这也是C#语言作为高级语言的优势所在, 可以用简洁明了的语法去处理复杂的逻辑运算。
一般应用无论是C/S、B/S,一般都会有专门的业务层(BLL)去处理逻辑,然后把需要持久化的数据存入DB ,或是把原始数据从DB读取出来,经过BLL整理,再展示到界面。
也有少部分特殊情况,比如没有发布服务的两层C/S应用,而且客户机配置很差,那么把数据全部读出来,在客户端进行处理,可能在网络传输、计算上都会很慢。
这种情况下,需要通过数据库先进行计算,再把计算好的数据查出来。
比如某工厂的客户机(配置烂)需要查询10年的历史数据报表, 其结果可能只是10行20列的一个数组,但是需要处理10年来上百万行的数据,这种情况下,直接把计算逻辑写入SQL语句或者调用存储过程, 可以让服务器用较好的计算能力和本地I/O的优势直接把计算好的结果传回来。效率会比“查所有数据,客户机运算”要高很多。
但是毕竟是少数情况,目前更多的C/S应用都依托服务端进行操作。
目前,大部分主流应用的开发,逻辑处理是放在程序中处理的,这也是C#语言作为高级语言的优势所在, 可以用简洁明了的语法去处理复杂的逻辑运算。
一般应用无论是C/S、B/S,一般都会有专门的业务层(BLL)去处理逻辑,然后把需要持久化的数据存入DB ,或是把原始数据从DB读取出来,经过BLL整理,再展示到界面。
也有少部分特殊情况,比如没有发布服务的两层C/S应用,而且客户机配置很差,那么把数据全部读出来,在客户端进行处理,可能在网络传输、计算上都会很慢。
这种情况下,需要通过数据库先进行计算,再把计算好的数据查出来。
比如某工厂的客户机(配置烂)需要查询10年的历史数据报表, 其结果可能只是10行20列的一个数组,但是需要处理10年来上百万行的数据,这种情况下,直接把计算逻辑写入SQL语句或者调用存储过程, 可以让服务器用较好的计算能力和本地I/O的优势直接把计算好的结果传回来。效率会比“查所有数据,客户机运算”要高很多。
但是毕竟是少数情况,目前更多的C/S应用都依托服务端进行操作。
全部回答
- 1楼网友:一袍清酒付
- 2021-03-23 11:44
当然是程序啊,少部分是通过数据库存储过程实现。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯