怎样提高Sql语句执行速度

bomeixinxin 2010-07-09 03:09:32
CREATE PROCEDURE [dbo].[P_T_ReturnMessageInfo_GetAll]
@WhereValue nvarchar(1000)
AS
BEGIN
DECLARE @StrSql nvarchar(3000)
SET @StrSql = 'SELECT [TransportID]
FROM [dbo].[V_ReturnMessageInfo_DetailUseByQry] WHERE 1=1 and TransCompany!=''客户自提'' ' + @WhereValue
exec sp_sqlexec @StrSql
END

求救高手 怎样改写能提高执行速度啊 !!!!!!!!!!
...全文
178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaweihan_001 2010-07-09
  • 打赏
  • 举报
回复
用存储过程吧,
w3c5201314 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 bomeixinxin 的回复:]
是视图 怎么优化啊
[/Quote]
你视图中能丢的丢,该简化的简化,能不用判断的就最后别用,
这个是语句的组合,你把视图代码贴出来看看。
laoyingisme 2010-07-09
  • 打赏
  • 举报
回复
分页存储才能更好的体现速度
bomeixinxin 2010-07-09
  • 打赏
  • 举报
回复
是视图 怎么优化啊
w3c5201314 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bomeixinxin 的回复:]
写成存储过程 就已经到顶了么 没办法在提速了啊
[TransportID] --此处可将 [TransportID]换成常量1 ,提高效率
换成常量什么意思啊
[/Quote]
你这个 V_ReturnMessageInfo_DetailUseByQry 是表还是试图
是试图就想办法优化下,是表就建立索引
w_azhu 2010-07-09
  • 打赏
  • 举报
回复
我都不知道存储过程怎么用
bomeixinxin 2010-07-09
  • 打赏
  • 举报
回复
写成存储过程 就已经到顶了么 没办法在提速了啊
[TransportID] --此处可将 [TransportID]换成常量1 ,提高效率
换成常量什么意思啊
myhope88 2010-07-09
  • 打赏
  • 举报
回复
在存储过程中查询不就挺快的了嘛,还要咋快呢
q107770540 2010-07-09
  • 打赏
  • 举报
回复

CREATE PROCEDURE [dbo].[P_T_ReturnMessageInfo_GetAll]
@WhereValue nvarchar(1000)
AS
BEGIN
DECLARE @StrSql nvarchar(3000)
SET @StrSql = 'SELECT [TransportID] --此处可将 [TransportID]换成常量1 ,提高效率
FROM [dbo].[V_ReturnMessageInfo_DetailUseByQry] WHERE 1=1 and TransCompany!=''客户自提'' ' + @WhereValue --可去除 1=1 and
exec sp_sqlexec @StrSql
END
yqyqyoyo 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yqyqyoyo 的回复:]
'SELECT [TransportID]
FROM [dbo].[V_ReturnMessageInfo_DetailUseByQry] WHERE 1=1 and TransCompany!=''客户自提'' ' + @WhereValue

其中的1=1没有存在的意义。。拿掉这个吧。。
[/Quote]

还有你的 @WhereValue 这个参数中所带的条件是未知的。也就是说最终执行的SQL语句你都无法准确的去得知。建议不要这样写查询。特别是数据量多的时候。。
lishuai1030 2010-07-09
  • 打赏
  • 举报
回复
帮顶下
yqyqyoyo 2010-07-09
  • 打赏
  • 举报
回复
'SELECT [TransportID]
FROM [dbo].[V_ReturnMessageInfo_DetailUseByQry] WHERE 1=1 and TransCompany!=''客户自提'' ' + @WhereValue

其中的1=1没有存在的意义。。拿掉这个吧。。
yasire 2010-07-09
  • 打赏
  • 举报
回复
都写进存储过程了,还能有更快的吗!
你是要分页吗? 可以查查别人写的分页存储过程,啥子二分法之类的。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧