34,874
社区成员
发帖
与我相关
我的任务
分享
exec sp_executesql N'SELECT TOP (10)
[Project1].[ID] AS [ID],
[Project1].[UID] AS [UID],
[Project1].[Name] AS [Name],
[Project1].[Email] AS [Email],
[Project1].[Title] AS [Title],
[Project1].[Content] AS [Content],
[Project1].[ImageSrc] AS [ImageSrc],
[Project1].[ThImageSrc] AS [ThImageSrc],
[Project1].[IP] AS [IP],
[Project1].[PostDateTime] AS [PostDateTime],
[Project1].[UpdateDateTime] AS [UpdateDateTime],
[Project1].[ForumID] AS [ForumID],
[Project1].[ParentID] AS [ParentID]
FROM ( SELECT [Project1].[ID] AS [ID], [Project1].[UID] AS [UID], [Project1].[Name] AS [Name], [Project1].[Email] AS [Email], [Project1].[Title] AS [Title], [Project1].[Content] AS [Content], [Project1].[ImageSrc] AS [ImageSrc], [Project1].[ThImageSrc] AS [ThImageSrc], [Project1].[IP] AS [IP], [Project1].[PostDateTime] AS [PostDateTime], [Project1].[UpdateDateTime] AS [UpdateDateTime], [Project1].[ForumID] AS [ForumID], [Project1].[ParentID] AS [ParentID], row_number() OVER (ORDER BY [Project1].[UpdateDateTime] DESC) AS [row_number]
FROM ( SELECT
[Extent1].[ID] AS [ID],
[Extent1].[UID] AS [UID],
[Extent1].[Name] AS [Name],
[Extent1].[Email] AS [Email],
[Extent1].[Title] AS [Title],
[Extent1].[Content] AS [Content],
[Extent1].[ImageSrc] AS [ImageSrc],
[Extent1].[ThImageSrc] AS [ThImageSrc],
[Extent1].[IP] AS [IP],
[Extent1].[PostDateTime] AS [PostDateTime],
[Extent1].[UpdateDateTime] AS [UpdateDateTime],
[Extent1].[ForumID] AS [ForumID],
[Extent1].[ParentID] AS [ParentID]
FROM [dbo].[Thread] AS [Extent1]
WHERE ([Extent1].[ForumID] = @p__linq__0) AND (@p__linq__0 IS NOT NULL) AND ([Extent1].[ParentID] IS NULL)
) AS [Project1]
) AS [Project1]
WHERE [Project1].[row_number] > 100
ORDER BY [Project1].[UpdateDateTime] DESC',N'@p__linq__0 int',@p__linq__0=4



还有什么好的办法吗?
查询的唯一区别就是WHERE [Project1].[row_number] > ??这个不一样而已,有的很快有的很慢,而且很慢的是一直很慢。
但是在sp_executesql中的SQL语句随便哪里改变一下,比如加个空格啊之类的,就正常了变的很快了,GOOGLE了一下是不是参数嗅探的问题??[/quote]
有可能的,建议修改成exec,这样每次都会重新编译,能解决这个参数嗅探问题[/quote]
我的网站是ASP.NET的,数据操作用的ENTITY FRAMEWORK,这SQL也是自生成的,不太好改。。还有什么办法吗?确定是参数嗅探的问题吗?[/quote]
你的意思是,这个语句,你不能修改?[/quote]
对。。ORM生成的SQL语句
查询的唯一区别就是WHERE [Project1].[row_number] > ??这个不一样而已,有的很快有的很慢,而且很慢的是一直很慢。
但是在sp_executesql中的SQL语句随便哪里改变一下,比如加个空格啊之类的,就正常了变的很快了,GOOGLE了一下是不是参数嗅探的问题??[/quote]
有可能的,建议修改成exec,这样每次都会重新编译,能解决这个参数嗅探问题[/quote]
我的网站是ASP.NET的,数据操作用的ENTITY FRAMEWORK,这SQL也是自生成的,不太好改。。还有什么办法吗?确定是参数嗅探的问题吗?[/quote]
你的意思是,这个语句,你不能修改?
查询的唯一区别就是WHERE [Project1].[row_number] > ??这个不一样而已,有的很快有的很慢,而且很慢的是一直很慢。
但是在sp_executesql中的SQL语句随便哪里改变一下,比如加个空格啊之类的,就正常了变的很快了,GOOGLE了一下是不是参数嗅探的问题??[/quote]
有可能的,建议修改成exec,这样每次都会重新编译,能解决这个参数嗅探问题[/quote]
我的网站是ASP.NET的,数据操作用的ENTITY FRAMEWORK,这SQL也是自生成的,不太好改。。还有什么办法吗?确定是参数嗅探的问题吗?
查询的唯一区别就是WHERE [Project1].[row_number] > ??这个不一样而已,有的很快有的很慢,而且很慢的是一直很慢。
但是在sp_executesql中的SQL语句随便哪里改变一下,比如加个空格啊之类的,就正常了变的很快了,GOOGLE了一下是不是参数嗅探的问题??[/quote]
有可能的,建议修改成exec,这样每次都会重新编译,能解决这个参数嗅探问题