誰かがこのSQLクエリを調整するのを助けてくれますか?なぜこのSQLはインデックスシークの代わりにインデックススキャンを実行しますか?
SELECT a.BuildingID, a.ApplicantID, a.ACH, a.Address, a.Age, a.AgentID, a.AmenityFee, a.ApartmentID, a.Applied, a.AptStatus, a.BikeLocation, a.BikeRent, a.Children,
a.CurrentResidence, a.Email, a.Employer, a.FamilyStatus, a.HCMembers, a.HCPayment, a.Income, a.Industry, a.Name, a.OccupancyTimeframe, a.OnSiteID,
a.Other, a.ParkingFee, a.Pets, a.PetFee, a.Phone, a.Source, a.StorageLocation, a.StorageRent, a.TenantSigned, a.WasherDryer, a.WasherRent, a.WorkLocation,
a.WorkPhone, a.CreationDate, a.CreatedBy, a.LastUpdated, a.UpdatedBy
FROM dbo.NPapplicants AS a INNER JOIN
dbo.NPapartments AS apt ON a.BuildingID = apt.BuildingID AND a.ApartmentID = apt.ApartmentID
WHERE (apt.Offline = 0)
AND (apt.MA = 'M')
。
実行計画は次のとおりです。
です。私はNPapplicantsのためのインデックススキャンを得ている理由を私は理解していない何
です。私は、BuildingIDとApartmentIDをカバーするインデックスを持っています。それを使うべきではありませんか?
テーブルにはいくつの行がありますか? –
画像は最新の統計情報の更新情報から7775を示します – RichardTheKiwi