我正在开发的小型Web应用程序正变得越来越大。我注意到,在发布表单或只调用其他函数时,我传递的参数包含ID或Model类的整个实例。
在性能方面,我是否更好地传递整个Model对象(填充值)或者我应该传递ID,然后从数据库中检索?
谢谢!
答案 0 :(得分:1)
对于性能优势,你可以做很多事情,常见的事情是
1)获取所需记录的数量,例如自定义分页,在LINQ中使用(跳过和接受方法)
2)对于与View
绑定的列表,在控制器和缓存依赖关系中使用数据缓存3)使用Compiled查询来获取记录。 (see here)
应用所有这些并查看可标记的页面加载速度。
EDIt:对于ID建议,在此问题中,如果仅传递ID并从数据库中获取模型的其余部分或传递填充模型,则两者的性能影响相同。
答案 1 :(得分:0)
不要解决尚不存在的问题。使用工具测量性能问题,然后尝试解决。
答案 2 :(得分:0)
最好从用例中考虑这些。 例如,如果我想通过ID获取项目,那么我传递ID,而不是填写了ID的整个对象。
我使用WCF服务来托管我的BLL并与我的DAL接口,因此传递数据是一项代价高昂的工作,所以我谨慎地做。
如果我需要更新一个对象,我会传递该对象,如果我只想对某个对象执行操作,例如delete或get,我会使用该ID。
的Si