我有一个数据访问层类有一个方法(GetPeople),将从SQL Server表(人)检索记录。此表有20多个字段,其中包括varbinary
类型。vb.net DAL指定列返回
眼下,SQL查询是一样的东西
SELECT * FROM people
从我BLL类,我会打电话给DAL.GetPeople()
,这将返回所有列。
指定要返回哪些列的最佳方式是什么,这样我可以提高性能?例如,有时我想返回所有字段,其他时间只有一个或两个字段。
UPDATE 为了更好地解释它: 在DAL我有一个方法GetPeople()它调用一个SQL Server功能GetPeople。 在BLL中,我有一个方法GetPeople(),它在完成一些业务逻辑之后调用DAL.GetPeople()。 在我的表示层中,我称之为BLL.GetPeople()。
这是工作,但在SQL函数,我有“选择*从人”。有时我想从表中检索一列(例如名称),但在这种情况下,所有列都会返回,我认为这会影响性能。
所以,我想有一种对这个SQL Server的功能,它的列返回将取决于我如何调用该函数动态SELECT查询的...
我认为这取决于你如何编写你的DAL。 ADO,EF,Simple.Data?就目前而言,这可能太开放了一个问题? –
重要的是你的GetPeople方法返回什么类型 - 类,数据集,其他?另外,不要使用从*任何选择*。明确指定列。 –
数据集...是这个方法返回的结果。当然,我不想使用“*”,这就是为什么我要指定列... – escar