Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将繁重的查询处理为轻快的版本?_C#_Sql_Sql Server_Performance_Linq - Fatal编程技术网

C# 如何将繁重的查询处理为轻快的版本?

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,

我一直在使用Fetch Next(而不是linq query skip.take()),但是下面的查询速度非常慢,我如何处理这个缓慢的查询。我想快点

如何重写此sql查询和linq版本(如果更快)


我想指出的是,您的查询并不是只选择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; --
您应该删除该注释或使其成为不会影响以下代码的注释