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语句
[解决办法]
那是相当的快!