为什么查询非常慢,代码有什么问题吗

5.png

FineReport LBJ23 发布于 2023-10-18 15:38
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-10-18 15:42(编辑于 2023-10-18 16:08)

SqlServer数据库 查询当年1月1号的数据?

------

SELECT PRIBE FROM DBO.RELU WHERE TIME='${CONCATENATE(KK,"-01-01 00:00:00")}'

image.png

  • LBJ23 LBJ23(提问者) 是查询1月1号零点零分零秒的数据,还是很慢啊
    2023-10-18 16:03 
  • Z4u3z1 Z4u3z1 回复 LBJ23(提问者) sql改了。另外看看time字段加索引么?没加就加上
    2023-10-18 16:09 
  • LBJ23 LBJ23(提问者) 回复 Z4u3z1 索引加了啊
    2023-10-18 16:14 
  • LBJ23 LBJ23(提问者) 回复 Z4u3z1 在数据库里查询也慢
    2023-10-18 16:14 
  • Z4u3z1 Z4u3z1 回复 LBJ23(提问者) https://help.fanruan.com/finereport/doc-view-306.html 参考文档
    2023-10-18 16:19 
最佳回答
0
快乐星光Lv5中级互助
发布于2023-10-18 15:44(编辑于 2023-10-18 16:15)

你先查询 

select pribe from dbo.relu

where 1=1

      and [time] ='2022-01-01 00:00'

这个看看速度又怎么同样,排除一下先

sql 日期转换:https://blog.csdn.net/sinat_19594515/article/details/80649569

那就改为

select pribe from dbo.relu

where 1=1

and CONVERT(varchar(16), [time], 20)='${KK}'+'-01-01 00:00'

  • LBJ23 LBJ23(提问者) 这个速度很快
    2023-10-18 16:06 
  • 快乐星光 快乐星光 回复 LBJ23(提问者) 看修改试一下
    2023-10-18 16:15 
  • LBJ23 LBJ23(提问者) 回复 快乐星光 还是慢
    2023-10-18 16:17 
  • 快乐星光 快乐星光 回复 LBJ23(提问者) 那你试试 and CONVERT(varchar(16), [time], 20)=\'2023-01-01 00:00\' 看看速度
    2023-10-18 16:29 
  • 2关注人数
  • 210浏览人数
  • 最后回答于:2023-10-18 16:15
    请选择关闭问题的原因
    确定 取消
    返回顶部