C# 如何将繁重的查询处理为轻快的版本?
我一直在使用Fetch Next(而不是linq query skip.take()),但是下面的查询速度非常慢,我如何处理这个缓慢的查询。我想快点 如何重写此sql查询和linq版本(如果更快)C# 如何将繁重的查询处理为轻快的版本?,c#,sql,sql-server,performance,linq,C#,Sql,Sql Server,Performance,Linq,我一直在使用Fetch Next(而不是linq query skip.take()),但是下面的查询速度非常慢,我如何处理这个缓慢的查询。我想快点 如何重写此sql查询和linq版本(如果更快) 我想指出的是,您的查询并不是只选择10行,而是选择所有行,因为part是可选的,您可以使用“-skip 10行” 您的查询是一个巨大的单行,没有换行符,因此它实际上不是: select d.ParselId,d.DestekId,d.Urun,d.KullanimSekli,d.TarimSekli,
我想指出的是,您的查询并不是只选择10行,而是选择所有行,因为part是可选的,您可以使用“-skip 10行” 您的查询是一个巨大的单行,没有换行符,因此它实际上不是:
select d.ParselId,d.DestekId,d.Urun,d.KullanimSekli,d.TarimSekli,d.EkiliAlan,d.DesteklenenAlan,d.Aciklama,d.TarifeId,d.VeriSurumu
from tblCiftci c
inner join tblParsel p on c.CiftciId = p.CiftciId
inner join tblDestek d on p.ParselId = d.ParselId where c.UretimSezonu = 2016
order by d.DestekId
OFFSET 0 ROWS -- skip 10 rows
FETCH NEXT 10 ROWS ONLY; --
而是一个:
select d.ParselId,d.DestekId,d.Urun,d.KullanimSekli,d.TarimSekli,d.EkiliAlan,d.DesteklenenAlan,d.Aciklama,d.TarifeId,d.VeriSurumu from tblCiftci c inner join tblParsel p on c.CiftciId = p.CiftciId inner join tblDestek d on p.ParselId = d.ParselId where c.UretimSezonu = 2016 order by d.DestekId OFFSET 0 ROWS -- skip 10 rows FETCH NEXT 10 ROWS ONLY; --
您应该删除该注释或使其成为不会影响以下代码的注释。我想指出的是,您的查询并不是只选择10行,而是选择所有行,因为部分是可选的,并且您有“-跳过10行” 您的查询是一个巨大的单行,没有换行符,因此它实际上不是:
select d.ParselId,d.DestekId,d.Urun,d.KullanimSekli,d.TarimSekli,d.EkiliAlan,d.DesteklenenAlan,d.Aciklama,d.TarifeId,d.VeriSurumu
from tblCiftci c
inner join tblParsel p on c.CiftciId = p.CiftciId
inner join tblDestek d on p.ParselId = d.ParselId where c.UretimSezonu = 2016
order by d.DestekId
OFFSET 0 ROWS -- skip 10 rows
FETCH NEXT 10 ROWS ONLY; --
而是一个:
select d.ParselId,d.DestekId,d.Urun,d.KullanimSekli,d.TarimSekli,d.EkiliAlan,d.DesteklenenAlan,d.Aciklama,d.TarifeId,d.VeriSurumu from tblCiftci c inner join tblParsel p on c.CiftciId = p.CiftciId inner join tblDestek d on p.ParselId = d.ParselId where c.UretimSezonu = 2016 order by d.DestekId OFFSET 0 ROWS -- skip 10 rows FETCH NEXT 10 ROWS ONLY; --
您应该删除该注释或使其成为不会影响以下代码的注释