Если сметные затраты на запросы точны, вам нужно беспокоиться только об одном, и его легко исправить.
Удалите ненужный RTRIM и добавьте OPTION RECOMPILE, чтобы получить план, основанный на фактических параметрах, передаваемых при каждом выполнении. См. Classi c Dynami c Условия поиска в T SQL для получения дополнительной информации.
Измените
SELECT @CustomerNumber = CustomerNumber
FROM DMVData dd
WHERE ((@PINNumber IS NULL) OR (dd.PINNumber = @PINNumber))
AND ((@TagNumber IS NULL) OR (RTRIM(dd.PlateNumber) = @TagNumber))
AND ((@VIN IS NULL) OR (RTRIM(dd.VIN) = @VIN))
AND ((@DriversLicense IS NULL) OR (dd.DLNumberOne = @DriversLicense) OR (dd.DLNumberTwo = @DriversLicense))
AND ((@Title IS NULL) OR (TitleNumber = @Title))
AND ((@DOB IS NULL) OR (dd.DOBOne = @DOB) OR (dd.DOBTwo = @DOB))
на
SELECT @CustomerNumber = CustomerNumber
FROM DMVData dd
WHERE ((@PINNumber IS NULL) OR (dd.PINNumber = @PINNumber))
AND ((@TagNumber IS NULL) OR (dd.PlateNumber = @TagNumber))
AND ((@VIN IS NULL) OR (dd.VIN = @VIN))
AND ((@DriversLicense IS NULL) OR (dd.DLNumberOne = @DriversLicense) OR (dd.DLNumberTwo = @DriversLicense))
AND ((@Title IS NULL) OR (TitleNumber = @Title))
AND ((@DOB IS NULL) OR (dd.DOBOne = @DOB) OR (dd.DOBTwo = @DOB))
OPTION (RECOMPILE)