首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Linq 的速度解决办法

2012-03-25 
Linq 的速度//不知下面的语句如何,会不会全表扫描?C# codevar select ( from ps in user.TUsers// where

Linq 的速度
//不知下面的语句如何,会不会全表扫描?

C# code
var select =( from ps in user.TUsers// where (ps.UserName.StartsWith("t")) orderby ps.id descending select new { id = ps.id.ToString(), name = ps.UserName, pass = ps.Password }).Skip(2).Take(5);


相比如下的sql语句 ?
SQL code
select *from(   select  TUsers.id,TUsers.UserName,TUsers.Password,Row_Number()over(order by id desc) as rn, from TUsers  )as pswhere(ps.rn>=@Index and ps.rn<@Index+@Count)


哪个要快点? 因为这个 用户表的数据量很大,优化很重要 。

[解决办法]
Sql Server Profiler
[解决办法]
你这语句不会全表扫描
[解决办法]
其实这个都被吐糟过无数次了,linq跟数据库没直接关系
[解决办法]
记录下前后时间 对比下嘛
[解决办法]
linq不是转换成sql的吗?

那当然是直接用sql来的快
[解决办法]
SQL code
select a.ID,a.Name from TUsers  a  inner join  (     select rownum,ID,Name,TypeID,BrandID  from (select ROW_NUMBER() over(order by id) rownum,ID,Name,TypeID,BrandID     from TUsers  ) t where  rownum between 0 and 10) as b      on a.ID=b.ID order by b.rownum
[解决办法]
linq比lz的sql快
[解决办法]
调试时看下生成的SQL语句
[解决办法]
那是相当的快!

热点排行