没仔细看,是不是可以从如下地方着手
1: 一定要游标吗?
2:distinct 是必须的吗?
3:索引呢?
4: 最起码以下两句看起来别扭,只要一句吧?
Select  Distinct @CountStay = Count (Distinct (Stayid))
From  StayStatistics
Where Companyid = @@Companyid
AND AuditDate Between @BeginDate and @EndDate Select @Roomnight = Count(Stayid),
@GuestCount = Sum(adults),
@RoomRevenue = Sum(RoomRevenue),
@FBRevenue = Sum(FBRevenue),
@OtherRevenue = Sum(OtherRevenue)
From  StayStatistics
Where Companyid = @@Companyid
AND AuditDate Between @BeginDate and @EndDate