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

rebacca1620 2008-12-01 02:13:07
SQL语句只要没有DISTINCT和ORDER BY,速度会快很多,但我又是需要将重复记录去除,应该用什么办法呀?
...全文
128 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
有没有建立索引?
回复
用 group by
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-12-01 02:13
社区公告
暂无公告