拼出来的SQL语句执行速度慢,有什么可以替代的吗?

rebacca1620 2008-12-01 02:13:07
SQL语句只要没有DISTINCT和ORDER BY,速度会快很多,但我又是需要将重复记录去除,应该用什么办法呀?
...全文
166 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
derelictangel 2008-12-06
  • 打赏
  • 举报
回复
接分,MARK


PS:
我的目标是 ---->

^_^
xiao140013 2008-12-01
  • 打赏
  • 举报
回复
ORDER BY 是选择性的,所以时间上还是和数据量的多少有关
lingyun410 2008-12-01
  • 打赏
  • 举报
回复
可以使用GetRows、GetString一次性读取数据
我觉得这个比较快!~
SQL="Select * From [Tab] Order By ..."
Set Rs=Conn.Execute(SQL)
If Not(Rs.Eof And Rs.BOf) Then
RsArr=Rs.GetRows(-1)
For RsItem=0 To UBound(RsArr,2)
Response.Write RsArr(0,RsItem)&"<br />"
Next
RsArr=Null
End If
Rs.Close:Set Rs=Nothing
rebacca1620 2008-12-01
  • 打赏
  • 举报
回复
我现在只要不加ORDER BY,查询速度在1秒以内,如果加上就2秒了。
还有什么办法,我快郁闷死了……
jinjazz 2008-12-01
  • 打赏
  • 举报
回复
不是拼出来的问题,distinct需要扫描整个表来比较,怎么都快不了.
virgo2008 2008-12-01
  • 打赏
  • 举报
回复
那就没有办法了,不同的方法耗时肯定是有区别的,你只能自己去选择用什么方法了!
smartcatiboy 2008-12-01
  • 打赏
  • 举报
回复
DISTINCT好像是最费时的,在加入的时侯就该先处理,可以给字段加上unique的规则



orderby有索引倒无所谓
rebacca1620 2008-12-01
  • 打赏
  • 举报
回复
好像不行,我试了,一共查出来7条数据,但用时已经是2秒了……
virgo2008 2008-12-01
  • 打赏
  • 举报
回复
select id from tab group by id 这样ID里面的重复值都被编在同一组里面 就显示一次!
virgo2008 2008-12-01
  • 打赏
  • 举报
回复
那就分组咯!
dinghdong 2008-12-01
  • 打赏
  • 举报
回复
有没有建立索引?
月光下的土豆 2008-12-01
  • 打赏
  • 举报
回复
用 group by

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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