jason0401 发表于 2018-10-15 09:15:30

Linq To SQL分页失败后引发的思考

Skip查询需要数据标识列提供查询的根据,是否可以假设Skip是通过标识列的唯一性来逐一返回对象的呢?  修改数据库People表Prof,设置其ID为主键,(上面的数据库相应修改为)
  ALTER TABLE Prof
ADD CONSTRAINT PK_ID PRIMARY KEY (ID)
GO
  再次运行,显示查询耗时:00:00:00.0478485
  问题:
  1.为什么两次查询的耗时相差那么大呢?(估计是个人机器以及代码问题:))
  2.Skip是否通过主键的唯一性逐次返回查询对象?
  总结:
  SQLServer的执行效率是按照语义来执行的,也许Linq在性能上不一定和SQLDataAdapter等完全一样,但是在开发效率上,我们可以看出Linq的实现代码的简易性是相对较好的,只要克服其中的一些问题,相信Linq会为以后的数据查询提供更强大帮助!
  备注:
  Scott写了一系列Linq的介绍非常经典
  王磊发表的文章中提到过了大量数据分页的实现,主要用的数据库为Northwind而相应的代码也完善。
  Linq性能测试http://www.mbeller.de/2007/12/performance-comparison-between-linq.html

页: [1]
查看完整版本: Linq To SQL分页失败后引发的思考