首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

高手给小弟我指点下这几条语句怎么优化?(关于复合查询)

2012-03-08 
高手给我指点下这几条语句如何优化?(关于复合查询)网上找资料SQL语句优化方法,说复合查询比关联查询快一些

高手给我指点下这几条语句如何优化?(关于复合查询)
网上找资料SQL语句优化方法,说复合查询比关联查询快一些,昨天听公司培训的讲师也这么说,于是想把程序改一改。但碰到一些问题,在这里希望得到一些指点经验。    
 
 
select     Top     1     a.Title,a.GroupID,a.Content,a.addtime,a.UserID,b.Name,b.FaceURL,b.Address     from     topicTable     a,[User]     b     where     a.id=@TopicID     and     a.topicID=0     and     b.id=a.UserID    
 
上面这样的两表关联查询,要输出的字段关系到两个表,能有什么更好的查询方法吗?    
 
那么3表关联查询的呢??
SELECT   TOP   6   id,   GroupPic,   GroupName,   UserCount
FROM   GroupTable
WHERE   (id   IN
                    (SELECT   GroupID
                  FROM   GroupUser
                  WHERE   UserID   IN
                                      (SELECT   UserID
                                    FROM   GroupUser
                                    WHERE   GroupID   =   7   group   by   UserID)
                  GROUP   BY   GroupID))
ORDER   BY   id   DESC

[解决办法]
select t.Title,t.GroupID,t.Content,t.addtime,t.UserID,b.Name,b.FaceURL,b.Address from [User] b,
(select Title,GroupID,Content,addtime,UserID from topicTable where id=@TopicID and a.topicID=0) as t
where b.id = t.UserID
这样试一下吧

第二个查询中的两个字查询为什么要加上GroupID,感觉没有必要。

热点排行
Bad Request.