こんにちは、SQL Server 2008 を使用しています。データベースには というテーブルが 1 つありますMemberBusiness
。そのテーブルからデータを取得したい。
これは私のストアドプロシージャです
SELECT BrokerId ,
RankId ,
MemberId ,
InstallmentId ,
PlanId ,
IntroducerId ,
Date ,
SelfAmount ,
UnitAmount ,
SpotAmount ,
ORBPercentageSelf ,
ORBPercentageUnit ,
ORBAmountSelf ,
ORBAmountUnit ,
IsSelfBusiness ,
Mode ,
InstallmentNo ,
PlanType ,
PlanName ,
CompanyId ,
CscId ,
Year ,
CreateDate ,
ModifideDate
FROM dbo.MemberBusiness AS mb
WHERE ( @CscId = 0
OR mb.CscId = @CscId
)
AND ( @CompanyId = 0
OR CompanyId = @CompanyId
)
AND BrokerId IN ( SELECT bt.BrokerId
FROM #brokerTable AS bt )
AND mb.Date >= @StartDate
AND mb.Date <= @EndDate
AND mb.RankId >= @FromRankId
AND mb.RankId <= @ToRankId
テーブルには、MemberBusiness
約 16560352 のレコードがあります。SP を超えると 1300 レコードが得られ、実行に約 30 秒かかりますが、これは私には受け入れられません。インデックス作成を使用しましたが、実行に時間がかかります。どうすればこれをより速く行うことができますか?. ありがとう。