当前位置: 代码迷 >> Sql Server >> 请问:大家都说男,女不能做索引,但这个语句,男女不加索引,超时
  详细解决方案

请问:大家都说男,女不能做索引,但这个语句,男女不加索引,超时

热度:104   发布时间:2016-04-24 10:34:12.0
请教:大家都说男,女不能做索引,但这个语句,男女不加索引,超时
一个业务表(100万条),一个用户表(1000条),关联查询


Order表的CreateTime,UserName索引;
User表的UserName做索引,Sex不做索引,在ASP.NET程序中查询时,SQL超时(在查询分析器中,不会超时);
User表的UserName,Sex做索引,则速度很快,程序或查询分析器都很快;

何故?



with CTE as(
                select 
                b.Type, 
                Amount = sum(b.Amount)
                from User a
                inner join Order b on  b.CreateTime >= '2014-05-01' and  b.CreateTime < '2014-05-30' and  a.UserName = b.UserName  and a.Sex != 1 
                group by b.Type
                )

                select * from CTE order by Type asc

------解决方案--------------------
SELECT   b.[Type] ,
                        Amount = SUM(b.Amount)
               FROM     [User] a
                        INNER JOIN [Order] b ON b.CreateTime >= '2014-05-01'
                                                AND b.CreateTime < '2014-05-30'
                                                AND a.UserName = b.UserName
                                                AND a.Sex != 1
               GROUP BY b.[Type]

针对这句,ctrl+l,贴图
  相关解决方案