请教一个联合查询效率问题(SQL优化)
IDNCC 2009-04-14 01:57:44 这是我在查询分析器里面测试用的SQL 循环100次(1次返回的时间老是0或20毫秒不准)
select * from reply, ForumUser where reply.topicid = 123 and ForumUser.username = reply.replyUser order by reply.replyTime
在测试的10万数据库里 一共输出了30*100 行数据 返回时间是 2156毫秒
简单改写成存储过程后效率提高一倍...1076毫秒
我想弱弱的问一下 有没有更好的写法让他效率更高一些...个人觉得这样效率很一般 (上面的*是为了更加容易看实际是详细的列出各个字段)
--------------------------------------------------------
declare @begintime datetime,@endtime datetime
set @begintime = getdate()
declare @i int
set @i=1
while @i<=100 --循环次数
begin
select * from reply, ForumUser where reply.topicid = 123 and ForumUser.username = reply.replyUser order by reply.replyTime
set @i=@i+1
end
set @endtime = getdate()
select datediff(millisecond,@begintime,@endtime) costtime
---------------------------------------------------------