IvenWong 2022-02-25 17:07 采纳率: 50%
浏览 44

SQL Server 表大概4百万条记录,如何优化提升 ‘按时间段条件’ 来获取查询记录的速度?


--按时间段查询访问记录
CREATE PROCEDURE [dbo].[PROC_GetVisitLog]
(
    @sdt nvarchar(32)=null, --开始日期
    @edt nvarchar(32)=null --结束日期
)
AS
begin
    declare @sql nvarchar(512)
    set @sql='select Id,User,Url,ActionDesc,Status,Msg,StartTime,EndTime from VisitLog where 1=1 ';
    set @sql=(case when @sdt is null or @sdt='' then @sql else @sql+' and StartTime >=@sdt' end);
    set @sql=(case when @edt is null or @edt='' then @sql else @sql+' and StartTime<=@edt' end);
    set @sql=@sql+' order by Id desc';
    EXEC sp_executesql @sql,N'@sdt nvarchar(32),@edt nvarchar(32)',@sdt,@edt
end

  • 写回答

1条回答 默认 最新

  • 於黾 2022-02-25 17:09
    关注

    加索引呀

    评论

报告相同问题?

问题事件

  • 修改了问题 2月25日
  • 修改了问题 2月25日
  • 创建了问题 2月25日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭