Добрый день, разбираюсь почему запрос долго выбирает данные (4 сек), столкнулся со странной проблемой
сам запрос
время выполнения - 4 сек, выдает 3 строчки
Но если в условии изменить [tbl_ProblemStatus].[IsFinish] = 0 на [tbl_ProblemStatus].[IsFinish] = 1
выбирается за 0,2 секунды.
в таблице tbl_ProblemStatus 6 строк с isfinish =0 и 3 с isfinish = 1
Выборка с условием [tbl_ProblemStatus].[IsFinish] = 1 - 1300 строк, но выбирается за 0,2 секунды
Выборка с условием [tbl_ProblemStatus].[IsFinish] = 0 - 3 строки, но выбирается за4 секунды
Помогите понять в чем может быть проблема, уже весь мозг сломал
сам запрос
SELECT top 40 [tbl_Problem].[StatusID] AS [StatusID], [tbl_ProblemStatus].[Name] AS [StatusName], [tbl_ProblemStatus].[IsFinish] AS [IsFinish], [tbl_Problem].[AuthorID] AS [AuthorID], [Author].[Name] AS [AuthorName], [tbl_Problem].[CIServiceID] AS [CIServiceID], [tbl_CIService].[Name] AS [CIServiceName], [tbl_Problem].[ConfigurationItemID] AS [ConfigurationItemID], [tbl_ConfigurationItem].[Name] AS [ConfigurationItemName], [tbl_Problem].[AffectsCIID] AS [AffectsCIID], [AffectsCI].[Name] AS [AffectsCIName], [tbl_Problem].[Solution] AS [Solution], [tbl_Problem].[PriorityID] AS [PriorityID], [tbl_ProblemPriority].[Name] AS [PriorityName], [tbl_Problem].[UrgencyID] AS [UrgencyID], [tbl_ProblemUrgency].[Name] AS [UrgencyName], [tbl_Problem].[OwnerID] AS [OwnerID], [Owner].[Name] AS [OwnerName], [tbl_Problem].[ConciseDescription] AS [ConciseDescription], [tbl_Problem].[RegistrationDate] AS [RegistrationDate], [tbl_Problem].[Number] AS [Number], [tbl_Problem].[ProblemTypeID] AS [ProblemTypeID], [tbl_ProblemType].[Name] AS [ProblemTypeName], [tbl_Problem].[FullDescription] AS [FullDescription], [tbl_Problem].[ImpactID] AS [ImpactID], [tbl_ProblemImpact].[Name] AS [ImpactName], [tbl_Problem].[ImpactDegree] AS [ImpactDegree], [tbl_Problem].[ID] AS [ID] FROM [dbo].[tbl_Problem] AS [tbl_Problem] LEFT OUTER JOIN [dbo].[tbl_ConfigurationItem] AS [tbl_ConfigurationItem] ON [tbl_ConfigurationItem].[ID] = [tbl_Problem].[ConfigurationItemID] LEFT OUTER JOIN [dbo].[tbl_ConfigurationItem] AS [AffectsCI] ON [AffectsCI].[ID] = [tbl_Problem].[AffectsCIID] LEFT OUTER JOIN [dbo].[tbl_Contact] AS [Author] ON [Author].[ID] = [tbl_Problem].[AuthorID] LEFT OUTER JOIN [dbo].[tbl_CIService] AS [tbl_CIService] ON [tbl_CIService].[ID] = [tbl_Problem].[CIServiceID] LEFT OUTER JOIN [dbo].[tbl_ProblemPriority] AS [tbl_ProblemPriority] ON [tbl_ProblemPriority].[ID] = [tbl_Problem].[PriorityID] LEFT OUTER JOIN [dbo].[tbl_ProblemUrgency] AS [tbl_ProblemUrgency] ON [tbl_ProblemUrgency].[ID] = [tbl_Problem].[UrgencyID] LEFT OUTER JOIN [dbo].[tbl_Contact] AS [Owner] ON [Owner].[ID] = [tbl_Problem].[OwnerID] LEFT OUTER JOIN [dbo].[tbl_ProblemType] AS [tbl_ProblemType] ON [tbl_ProblemType].[ID] = [tbl_Problem].[ProblemTypeID] LEFT OUTER JOIN [dbo].[tbl_ProblemImpact] AS [tbl_ProblemImpact] ON [tbl_ProblemImpact].[ID] = [tbl_Problem].[ImpactID] LEFT OUTER JOIN [dbo].[tbl_ProblemStatus] AS [tbl_ProblemStatus] ON [tbl_ProblemStatus].[ID] = [tbl_Problem].[StatusID] WHERE ( tbl_Problem.AffectsCIID in (select ID from fn_GetPathForConfigurationItem('FDC83724-F48B-4590-80CA-96F8F158347F')) OR [tbl_Problem].[OrganizationID] = 'C8C54382-6B10-4095-B3CC-FFAF1C11BD9A' OR [tbl_Problem].[OrganizationID] = '7D9BDA55-6194-4B6F-BE8C-31EEE13F8AB2' ) AND [tbl_ProblemStatus].[IsFinish] = 0
время выполнения - 4 сек, выдает 3 строчки
Но если в условии изменить [tbl_ProblemStatus].[IsFinish] = 0 на [tbl_ProblemStatus].[IsFinish] = 1
выбирается за 0,2 секунды.
в таблице tbl_ProblemStatus 6 строк с isfinish =0 и 3 с isfinish = 1
Выборка с условием [tbl_ProblemStatus].[IsFinish] = 1 - 1300 строк, но выбирается за 0,2 секунды
Выборка с условием [tbl_ProblemStatus].[IsFinish] = 0 - 3 строки, но выбирается за4 секунды
Помогите понять в чем может быть проблема, уже весь мозг сломал