求sqlserver join 后order by 速度慢的解决办法
现在有两个表一个是新闻表一个是排序表新表会更加新闻iD和传递过来的模块名称获取排序sort然后排序selecttop10t0.*,t1.*fromnewsast0left...
现在有两个表
一个是新闻表
一个是排序表
新表会更加新闻iD和传递过来的模块名称 获取排序sort然后排序
select top 10 t0.*,t1.* from news as t0 left join sort as t1 on t0.nid=t1.nid and t1.mname='首页' order by t1.sort desc
大概就是这么一句sql,但是执行速度要4~5秒,加了索引也不行,请不要在意表名,不知道这种问题该如何解决,求大神麻烦解答一下 展开
一个是新闻表
一个是排序表
新表会更加新闻iD和传递过来的模块名称 获取排序sort然后排序
select top 10 t0.*,t1.* from news as t0 left join sort as t1 on t0.nid=t1.nid and t1.mname='首页' order by t1.sort desc
大概就是这么一句sql,但是执行速度要4~5秒,加了索引也不行,请不要在意表名,不知道这种问题该如何解决,求大神麻烦解答一下 展开
2个回答
展开全部
--你要么试试
select * into ##tmp_Table from sort where mname='首页'
select top 10 t0.*,t1.* from news as t0
left join ##tmp_Table as t1 on t0.nid=t1.nid
order by t1.sort desc
drop table ##tmp_Table
更多追问追答
追问
没区别。
追答
不加排序多久
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的索引建的是怎样的
追问
给sort,nid字段建了个索引
追答
你的sort表应该是不大的,建不建索引,影响不大,
关键是news表的nid建索引
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询