分页查询加时间条件查询特别慢。

asdfa23rdadsdfa 2010-10-25 03:13:02
用的是
convert(varchar(10),time,120) = '2010-10-25'


第一页很快。
其他很慢。慢到要6.7秒

数据量很少
...全文
150 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdfa23rdadsdfa 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 abuying 的回复:]
引用 2 楼 zhengfujie 的回复:

针对数据表的数据
convert(varchar(10),time,120) = '2010-10-25' 这样符合的记录只有几百条。
这样下一页反而很慢。

而这样的有记录几万条。
convert(varchar(10),time,120) <= '2010-10-25'
结果分页都是1秒以内。奇怪

你加一个=,首先要转化,其……
[/Quote]

OK.知道了。
abuying 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhengfujie 的回复:]

针对数据表的数据
convert(varchar(10),time,120) = '2010-10-25' 这样符合的记录只有几百条。
这样下一页反而很慢。

而这样的有记录几万条。
convert(varchar(10),time,120) <= '2010-10-25'
结果分页都是1秒以内。奇怪
[/Quote]
你加一个=,首先要转化,其实还要一个个字符去比较,当然慢些。
<=,首行也是转化,然后比较第一个字符,如果相同,则下一个,如果不相同,则退出。当然快些。
为什么不使用日期时间函数datediff?
datediff(day,'2010-10-25',time)=0也很快的!
asdfa23rdadsdfa 2010-10-25
  • 打赏
  • 举报
回复
很不稳定。有的时候200毫秒左右。有的时候1200毫秒左右。
asdfa23rdadsdfa 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fredrickhu 的回复:]
在使用索引的同时也使用了函数 索引基本无效
[/Quote]
那应该怎么修改这个时间条件?
因为数据库里存的就是 年月日时分秒这样的数据
--小F-- 2010-10-25
  • 打赏
  • 举报
回复
在使用索引的同时也使用了函数 索引基本无效
asdfa23rdadsdfa 2010-10-25
  • 打赏
  • 举报
回复
convert(varchar(10),inserttime,120) > ''2010-10-24'' and
convert(varchar(10),inserttime,120) < ''2010-10-26''

用这样的也能提高不少。
都在1300毫秒左右。
asdfa23rdadsdfa 2010-10-25
  • 打赏
  • 举报
回复
加了索引还是一样。
奇怪的问题、
asdfa23rdadsdfa 2010-10-25
  • 打赏
  • 举报
回复
针对数据表的数据
convert(varchar(10),time,120) = '2010-10-25' 这样符合的记录只有几百条。
这样下一页反而很慢。

而这样的有记录几万条。
convert(varchar(10),time,120) <= '2010-10-25'
结果分页都是1秒以内。奇怪

xiaomowen_74839 2010-10-25
  • 打赏
  • 举报
回复
占沙发,帮顶。把时间那个字段加上索引试试?

34,590

社区成员

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

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