请教一个sql拼接搜索问题~

Yzak0Jule 2013-05-20 09:25:58
ALTER PROCEDURE [dbo].[Tb_AdvancedSearch]
(
@fld_GoodsClassId int,
@fld_StartLevel nvarchar(50),
@fld_DistrictId int,
@fld_CreatedTime datetime
)
AS
begin
declare @sql nvarchar(1000) --生成的sql语句

if @fld_DistrictId = 0
begin
set @sql = 'select b.*,
c.fld_UserName as fld_UserName,
d.fld_DistrictName as fld_DistrictName,
e.fld_GoodsClassName as fld_GoodsClassName,
*
FROM Tb_Goods as b inner join Tb_User as c on b.fld_UserId = c.fld_UserId
inner join Tb_District as d on b.fld_DistrictId = d.fld_DistrictId
inner join Tb_GoodsClass as e on b.fld_GoodsClassId = e.fld_GoodsClassId
WHERE b.fld_GoodsClassId = ''' + cast(@fld_GoodsClassId as varchar(10)) + ''' and fld_StartLevel = ''' + @fld_StartLevel + ''' and fld_CreatedTime >= ''' + cast(@fld_CreatedTime as varchar)

exec sp_executesql @sql
end
else
begin
set @sql = 'select b.*,
c.fld_UserName as fld_UserName,
d.fld_DistrictName as fld_DistrictName,
e.fld_GoodsClassName as fld_GoodsClassName,
*
FROM Tb_Goods as b inner join Tb_User as c on b.fld_UserId = c.fld_UserId
inner join Tb_District as d on b.fld_DistrictId = d.fld_DistrictId
inner join Tb_GoodsClass as e on b.fld_GoodsClassId = e.fld_GoodsClassId
WHERE b.fld_GoodsClassId = ''' + cast(@fld_GoodsClassId as varchar(10)) + ''' and fld_StartLevel = ''' + @fld_StartLevel + ''' and fld_CreatedTime >= ''' +cast(@fld_CreatedTime as varchar) + ''' and fld_DistrictId = ''' + cast(@fld_DistrictId as varchar)
exec sp_executesql @sql
end
end


原意是想根据 @fld_StartLevel @fld_DistrictId @fld_CreatedTime的值,来显示搜索结果。
但每次执行的结果都是

正在运行 [dbo].[Tb_AdvancedSearch] ( @fld_GoodsClassId = 2, @fld_StartLevel = 2, @fld_DistrictId = 0, @fld_CreatedTime = 2013-4-12 ).
字符串 '04 12 2013 12:00AM' 后的引号不完整。
'04 12 2013 12:00AM' 附近有语法错误。
没有行受影响。
(返回 0 行)
@RETURN_VALUE = 0
完成 [dbo].[Tb_AdvancedSearch] 运行。

我要怎么修改这存储过程?还是有更好的方法可以代替?
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yzak0Jule 2013-05-21
  • 打赏
  • 举报
回复
引用 5 楼 roy_88 的回复:
ALTER PROCEDURE [dbo].[Tb_AdvancedSearch]
    (    
    @fld_GoodsClassId int,
    @fld_StartLevel nvarchar(50),
    @fld_DistrictId int,
    @fld_CreatedTime datetime
    )
AS
begin
 declare @sql nvarchar(1000) --生成的sql语句
  
  if @fld_DistrictId = 0
    begin
    set @sql = 'select b.*,
    c.fld_UserName as fld_UserName,
    d.fld_DistrictName as fld_DistrictName,
    e.fld_GoodsClassName as fld_GoodsClassName,
    * 
FROM Tb_Goods as b inner join Tb_User as c on b.fld_UserId = c.fld_UserId
inner join Tb_District as d on b.fld_DistrictId = d.fld_DistrictId
inner join Tb_GoodsClass as e on b.fld_GoodsClassId = e.fld_GoodsClassId 
WHERE b.fld_GoodsClassId = ' +  cast(@fld_GoodsClassId  as varchar(10)) + ' and fld_StartLevel = ''' + @fld_StartLevel + ''' and fld_CreatedTime >= ''' + convert(varchar(19),@fld_CreatedTime ,120) +''''
     
    exec sp_executesql @sql
    end
else
    begin
    set @sql = 'select b.*,
    c.fld_UserName as fld_UserName,
    d.fld_DistrictName as fld_DistrictName,
    e.fld_GoodsClassName as fld_GoodsClassName,
    * 
FROM Tb_Goods as b inner join Tb_User as c on b.fld_UserId = c.fld_UserId
inner join Tb_District as d on b.fld_DistrictId = d.fld_DistrictId
inner join Tb_GoodsClass as e on b.fld_GoodsClassId = e.fld_GoodsClassId 
WHERE b.fld_GoodsClassId = ' + cast(@fld_GoodsClassId  as varchar(10)) + ' and fld_StartLevel = ''' + @fld_StartLevel + ''' and fld_CreatedTime >= ''' +convert(varchar(19),@fld_CreatedTime ,120)  + ''' and fld_DistrictId = ' + cast(@fld_DistrictId as varchar(10))
    exec sp_executesql @sql
    end
end
字符串是int时可以不用加引号,以上更改了where错误部份的内容
O了,搞定~ 顺便问下,我如果想将搜索结果按照b.fld_CreatedTime desc 排列,直接在where 后面加上 order by b.fld_CreatedTime desc 吗?
中国风 2013-05-20
  • 打赏
  • 举报
回复
ALTER PROCEDURE [dbo].[Tb_AdvancedSearch]
    (    
    @fld_GoodsClassId int,
    @fld_StartLevel nvarchar(50),
    @fld_DistrictId int,
    @fld_CreatedTime datetime
    )
AS
begin
 declare @sql nvarchar(1000) --生成的sql语句
  
  if @fld_DistrictId = 0
    begin
    set @sql = 'select b.*,
    c.fld_UserName as fld_UserName,
    d.fld_DistrictName as fld_DistrictName,
    e.fld_GoodsClassName as fld_GoodsClassName,
    * 
FROM Tb_Goods as b inner join Tb_User as c on b.fld_UserId = c.fld_UserId
inner join Tb_District as d on b.fld_DistrictId = d.fld_DistrictId
inner join Tb_GoodsClass as e on b.fld_GoodsClassId = e.fld_GoodsClassId 
WHERE b.fld_GoodsClassId = ' +  cast(@fld_GoodsClassId  as varchar(10)) + ' and fld_StartLevel = ''' + @fld_StartLevel + ''' and fld_CreatedTime >= ''' + convert(varchar(19),@fld_CreatedTime ,120) +''''
     
    exec sp_executesql @sql
    end
else
    begin
    set @sql = 'select b.*,
    c.fld_UserName as fld_UserName,
    d.fld_DistrictName as fld_DistrictName,
    e.fld_GoodsClassName as fld_GoodsClassName,
    * 
FROM Tb_Goods as b inner join Tb_User as c on b.fld_UserId = c.fld_UserId
inner join Tb_District as d on b.fld_DistrictId = d.fld_DistrictId
inner join Tb_GoodsClass as e on b.fld_GoodsClassId = e.fld_GoodsClassId 
WHERE b.fld_GoodsClassId = ' + cast(@fld_GoodsClassId  as varchar(10)) + ' and fld_StartLevel = ''' + @fld_StartLevel + ''' and fld_CreatedTime >= ''' +convert(varchar(19),@fld_CreatedTime ,120)  + ''' and fld_DistrictId = ' + cast(@fld_DistrictId as varchar(10))
    exec sp_executesql @sql
    end
end
字符串是int时可以不用加引号,以上更改了where错误部份的内容
Yzak0Jule 2013-05-20
  • 打赏
  • 举报
回复
引用 3 楼 DBA_Huangzj 的回复:
[quote=引用 2 楼 Yzak0Jule 的回复:] [quote=引用 1 楼 DBA_Huangzj 的回复:] declare @sql nvarchar(1000)这句加长一点,1000太短了,搞成4000还差不多,另外日期应该转换一下,不然04 12 2013 12:00AM也收不到你要的结果:
Select CONVERT(varchar(100), GETDATE(), 0)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1)--05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)--06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)--16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)--16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)--16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)--16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)--05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)--10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)--05 16 200610:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)--05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)--06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)--060516
Select CONVERT(varchar(100), GETDATE(), 13)--16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)--05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)--05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)--2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)--16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)--16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)--16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)--16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)--05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)--10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)--05 16 200610:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)--05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)--2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)--20060516
Select CONVERT(varchar(100), GETDATE(), 113)--16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)--10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)--2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)--2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)--2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130)--18 ???? ?????? 142710:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131)--18/04/142710:57:49:920AM
但是“字符串 '04 12 2013 12:00AM' 后的引号不完整。 '04 12 2013 12:00AM' 附近有语法错误。”是什么问题?引号不完整?语法错误?我哪里写错了吗?[/quote]是因为你定义的字符串不够长,后面的那些部分存不进去,你试下把字符串定义改大一点,看看会不会报错[/quote] nvarchar(1000) 改成4000, cast(@fld_CreatedTime as varchar) 改成convert(varchar(100),@fld_CreatedTime,20) , 执行结果是同样错误
發糞塗牆 2013-05-20
  • 打赏
  • 举报
回复
引用 2 楼 Yzak0Jule 的回复:
[quote=引用 1 楼 DBA_Huangzj 的回复:] declare @sql nvarchar(1000)这句加长一点,1000太短了,搞成4000还差不多,另外日期应该转换一下,不然04 12 2013 12:00AM也收不到你要的结果:
Select CONVERT(varchar(100), GETDATE(), 0)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1)--05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)--06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)--16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)--16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)--16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)--16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)--05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)--10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)--05 16 200610:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)--05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)--06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)--060516
Select CONVERT(varchar(100), GETDATE(), 13)--16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)--05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)--05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)--2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)--16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)--16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)--16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)--16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)--05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)--10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)--05 16 200610:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)--05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)--2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)--20060516
Select CONVERT(varchar(100), GETDATE(), 113)--16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)--10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)--2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)--2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)--2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130)--18 ???? ?????? 142710:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131)--18/04/142710:57:49:920AM
但是“字符串 '04 12 2013 12:00AM' 后的引号不完整。 '04 12 2013 12:00AM' 附近有语法错误。”是什么问题?引号不完整?语法错误?我哪里写错了吗?[/quote]是因为你定义的字符串不够长,后面的那些部分存不进去,你试下把字符串定义改大一点,看看会不会报错
Yzak0Jule 2013-05-20
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
declare @sql nvarchar(1000)这句加长一点,1000太短了,搞成4000还差不多,另外日期应该转换一下,不然04 12 2013 12:00AM也收不到你要的结果:
Select CONVERT(varchar(100), GETDATE(), 0)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1)--05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)--06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)--16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)--16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)--16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)--16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)--05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)--10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)--05 16 200610:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)--05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)--06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)--060516
Select CONVERT(varchar(100), GETDATE(), 13)--16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)--05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)--05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)--2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)--16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)--16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)--16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)--16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)--05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)--10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)--05 16 200610:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)--05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)--2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)--20060516
Select CONVERT(varchar(100), GETDATE(), 113)--16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)--10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)--2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)--2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)--2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130)--18 ???? ?????? 142710:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131)--18/04/142710:57:49:920AM
但是“字符串 '04 12 2013 12:00AM' 后的引号不完整。 '04 12 2013 12:00AM' 附近有语法错误。”是什么问题?引号不完整?语法错误?我哪里写错了吗?
發糞塗牆 2013-05-20
  • 打赏
  • 举报
回复
declare @sql nvarchar(1000)这句加长一点,1000太短了,搞成4000还差不多,另外日期应该转换一下,不然04 12 2013 12:00AM也收不到你要的结果:
Select CONVERT(varchar(100), GETDATE(), 0)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1)--05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)--06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)--16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)--16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)--16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)--16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)--05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)--10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)--05 16 200610:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)--05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)--06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)--060516
Select CONVERT(varchar(100), GETDATE(), 13)--16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)--05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)--05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)--2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)--16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)--16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)--16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)--16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)--05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)--10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)--05 16 200610:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)--05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)--2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)--20060516
Select CONVERT(varchar(100), GETDATE(), 113)--16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)--10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)--2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)--2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)--2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130)--18 ???? ?????? 142710:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131)--18/04/142710:57:49:920AM
通过慢sql分析的学习,了解什么是慢sql,以及慢SQL会引起那些性能问题。清楚慢sql日志的设置,然后再通过慢sql分析工具的学习,清楚慢sql分析的步骤和流程。慢sql分析工具:mysqldumpslow工具、explain工具、profile工具、Optimizer Trace工具。 提供课程中所使用的sql语句。 课程内容:第一章:课程简介1、课程介绍2、课程大纲 第二章:慢sql简介1、慢sql简介2、慢sql会引起的问题 第三章:慢日志的设置1、慢sql的分析流程2、慢日志参数理解3、慢日志参数设置:第1种方式:my.ini文件设置4、慢日志参数设置:第2种方式:sql脚本设置5、慢日志参数设置-效果验证 第四章:如何发现慢sql1、如何发现慢sql:第1种方式:慢日志文件2、如何发现慢sql:第2种方式:mysql库的slow_log表 第五章:慢sql分析工具1、慢sql提取-mysqldumpslow工具-使用方法2、慢sql提取-mysqldumpslow工具-操作实战3、慢sql的执行计划分析-explain分析-执行计划结果说明4、慢sql的执行计划分析-explain分析-索引介绍+type类型举例5、慢sql的资源开销分析-profile分析-分析步骤6、慢sql的资源开销分析-profile分析-show profile执行阶段说明7、慢sql的资源开销分析-profile分析-完整列表说明+操作实战8、慢sql的跟踪分析-Optimizer Trace分析-分析步骤9、慢sql的跟踪分析-Optimizer Trace表的介绍10、索引失效场景举例 第六章:慢日志清理1、慢日志清理

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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