Есть запрос, который выполняется долго.Как повысить производительность запроса?
DECLARE @p__linq__0 bigint = 131074
,@p__linq__1 datetimeoffset(7) = '2017-10-26 00:00:00 +00:00'
,@p__linq__2 datetimeoffset(7) = '2016-10-26 00:00:00 +00:00'
SELECT distinct
1 AS [C1],
[Extent5].[DisplayText] + ' (' + [Extent4].[ParameterCode] + ')' AS [C2],
[Extent4].[ParameterCode] AS [ParameterCode],
[Extent5].[ParameterId] AS [ParameterId]
--[Extent2].[ReceptionDate] AS [ReceptionDate], [Extent4].[ParameterId] AS [ParameterId], [Extent4].[ParameterCode] AS [ParameterCode]
FROM [dbo].[ClientSamples] AS [Extent1]
INNER JOIN [dbo].[SamplesView] AS [Extent2] ON [Extent1].[SampleId] = [Extent2].[SampleId]
and [Extent1].[AccountCode] IN ('A00052498', 'A00091603', 'AFR000790', 'AFR025580', 'AFR033702', 'AFR034669', 'AFR065301')
AND [Extent2].[ReceptionDate] >= @p__linq__2 AND [Extent2].[ReceptionDate] <= @p__linq__1
INNER JOIN [dbo].[SampleTestFractionsView] AS [Extent3] ON [Extent2].[SampleId] = [Extent3].[SampleId]
INNER JOIN [dbo].[ValidatedResults] AS [Extent4] ON [Extent3].[SampleTestFractionId] = [Extent4].[SampleTestFractionId]
INNER JOIN [dbo].[ParameterTranslationsView] AS [Extent5] ON [Extent4].[ParameterId] = [Extent5].[ParameterId] AND (@p__linq__0 = [Extent5].[LanguageId])
WHERE ([Extent5].[DisplayText] + ' (' + [Extent4].[ParameterCode] + ')' IS NOT NULL OR
(CAST(LEN([Extent5].[DisplayText] + ' (' + [Extent4].[ParameterCode] + ')') AS int)) != 0)
AND ' ' <> ([Extent5].[DisplayText] + ' (' + [Extent4].[ParameterCode] + ')')
Запрос занимает около 22 минут, чтобы вернуть результаты, а количество результатов составляет: 1068 записей.Здесь огромные данные находятся в таблицах ниже, и количество записей также дано
SampleTestFractionsView - 14861227 ValidatedResults - 74649333