现在,我对库里的每一个表都写了自己对映的一个类,传说中的model(比如有一个表叫City好了,对映的类是CityInfo)1 现在疑问是,大家一般会在CityDal中写几个Update方法?
理论上来说写一个就好了,然后进行全字段的更新,但会不会因字段过多而影响效率呢?2 其次如果根据不同的业务分别写成N个不同的update方法,每一个方法只更新特定的几个字段,这样我估计我会写一大堆这样的方
法的,这样是不是无形之中加重了数据层的负担。3 我自己觉得最理想的方法是在select的同时出保存一个副本,然后在update之前对比更改的后的cityInfo与之前备分的cityinfo来,来决定哪里字段需要更新,哪些则不需要,动态地创建update语句。但是感觉这样会比较麻烦。4 直接在update之前进行一下select 从而知道哪些字段有更新,哪些没有。但不知道先select再update效率和直接update哪个高了。为了不麻烦在这里就不考虑数据更新同步的情况了我没什么项目经验,对于这一块都是自学的,所以不知道具体项目中大家是怎么应用的。还有我以前听说过update 的机制都是先delete 然后再insert的,所以我感觉所有的update所有的字段应该是和update一个字段是一样的效率,不知道对不对谢谢大家了
理论上来说写一个就好了,然后进行全字段的更新,但会不会因字段过多而影响效率呢?2 其次如果根据不同的业务分别写成N个不同的update方法,每一个方法只更新特定的几个字段,这样我估计我会写一大堆这样的方
法的,这样是不是无形之中加重了数据层的负担。3 我自己觉得最理想的方法是在select的同时出保存一个副本,然后在update之前对比更改的后的cityInfo与之前备分的cityinfo来,来决定哪里字段需要更新,哪些则不需要,动态地创建update语句。但是感觉这样会比较麻烦。4 直接在update之前进行一下select 从而知道哪些字段有更新,哪些没有。但不知道先select再update效率和直接update哪个高了。为了不麻烦在这里就不考虑数据更新同步的情况了我没什么项目经验,对于这一块都是自学的,所以不知道具体项目中大家是怎么应用的。还有我以前听说过update 的机制都是先delete 然后再insert的,所以我感觉所有的update所有的字段应该是和update一个字段是一样的效率,不知道对不对谢谢大家了
解决方案 »
- 关于Response.Redirect的问题
- 跪求高人帮忙windows mobile问题,分页显示的内容怎么总是换行呀?
- 学习ASP.NET的一个系统,如简单的聊天室系统或论坛系统,该怎样学习
- 后台记录管理中,哪个控件,哪种方式 删除,修改 最快最简洁?
- 如何将一个数据集中的某字段与一字符串进行比较?
- 碰到怪事了?窗口弹出问题!
- ajax跨域请求
- 终于能上来了。高兴。现有一问题。我已经等了五个小时了:)
- 我的IE网页调用cgi程序时,浏览器却自动跳出下载窗口。要怎么设置,或者修改程序让IE执行cgi程序?
- 如何在DataGrid 里使用selecteditemlate
- 数年据库链接问题
- 如何在重新加载页面的时候清除原来的动态添加的按钮
我现在想知道大家在DAL中是写几个update方法(更新不同的几个字段,用一个SQL语句),还是就写一个update方法,即使只更新一个字段,也把所有字段给更新了
理论上来说写一个就好了,然后进行全字段的更新,但会不会因字段过多而影响效率呢?
只写一个方法就够了.如果不修改字段为什么要去更新的..你的UPDATE的语句那里需要优化.你可以去判断实体信息生成插入语句和插入的参数.2 其次如果根据不同的业务分别写成N个不同的update方法,每一个方法只更新特定的几个字段,这样我估计我会写一大堆这样的方
法的,这样是不是无形之中加重了数据层的负担。
只有一个方法就够了.3 我自己觉得最理想的方法是在select的同时出保存一个副本,然后在update之前对比更改的后的cityInfo与之前备分的cityinfo来,来决定哪里字段需要更新,哪些则不需要,动态地创建update语句。但是感觉这样会比较麻烦。
这样是最简单的方法...你认为去更新N个UPDATE方法好还是 1个UPDATE方法好?4 直接在update之前进行一下select 从而知道哪些字段有更新,哪些没有。但不知道先select再update效率和直接update哪个高了。
直接UpDate高... Select在Update里做还是具体在构造MODEL的时候就做..这个要看继续系统的需求了为了不麻烦在这里就不考虑数据更新同步的情况了