powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
22 сообщений из 22, страница 1 из 1
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618599
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
Почему запрос выполняется так долго? Если из запроса убрать хотя бы одно ограничение, то время выполнения запроса будет менее секунды. Как с этим бороться? MS SQL 2016

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT [t0].*
FROM [dbo].[WorkshopRoad] AS [t0]
INNER JOIN [dbo].[ClaimStrAssembly] AS [t1] ON [t1].[PkClaimStrAssembly] = [t0].[FkClaimStrAssembly]
INNER JOIN [dbo].[ClaimStr] AS [t2] ON [t2].[PkClaimStr] = [t1].[FkClaimStr]
INNER JOIN [dbo].[Claim] AS [t3] ON [t3].[PkClaim] = [t2].[FkClaim]
WHERE 
	(([t2].[FkProduct] = @p2) OR ([t3].[OtklNumberProduct] = 1)) 
	AND ([t2].[FkClaim] = @p3) 
	AND  ([t1].[FkProduct] = @p0) 
	AND ([t0].[FkWorkshop] = @p1) 
	AND ([t1].[Quantity] > @p4)
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618611
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExB,

Прикольно 4 ляма процентов :)
Обновите статистику, посмотрите на план, вас не смущает что у вас к примеру в первом Nested Loop слева ожидаемое кол-во строк 797, фактическое 35 лямов. Или у вас parametr sniffing.
Когда вы убераете одно из условий из where в принципе вполне логично, что у вас выполняется быстрее. В select вы выбираете только данные из t0, стлбцы остальных таблиц используются только в join и where, вполне вероятно что убрав к примеру t1].[Quantity] > @p4, SQL способен использовать индекс котрый наверника есть на [t1].[FkProduct], также вполне вероятно что убрав какое-либо условие, т.е. у вас таблица используется только в Join, SQL может применить Simplification при оптимизации, т.е. если у вас есть две таблица и есть FK, SQL и так знает что для каждой строки в таблицы "приемнике" есть строка в таблице "родителе" и просто не будет ее даже читать когда вы делаете inner join по этим столбцам. Но это отступление, у вас основное конечно факт и ожидание разнятся просто колоссально.
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618631
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
aleksrov, вот эти 4 ляма процентов меня очень смущают.
Статистика обновляется каждую ночь при создании бэкапа. Ручное обновление статистики не дает результата.
Код: sql
1.
2.
3.
4.
UPDATE STATISTICS [Claim]
UPDATE STATISTICS [ClaimStr]
UPDATE STATISTICS [ClaimStrAssembly]
UPDATE STATISTICS [WorkshopRoad]
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618633
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExB,

Тогда выложите сюда этот план.
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618689
vborets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExB,

А если условия засунуть в JOIN ?
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618706
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vboretsExB,

А если условия засунуть в JOIN ?
это всё менят

OPTION(RECOMPILE) или план не картинкой
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618773
WarAnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExBaleksrov, вот эти 4 ляма процентов меня очень смущают.
Статистика обновляется каждую ночь при создании бэкапа. Ручное обновление статистики не дает результата.
Код: sql
1.
2.
3.
4.
UPDATE STATISTICS [Claim]
UPDATE STATISTICS [ClaimStr]
UPDATE STATISTICS [ClaimStrAssembly]
UPDATE STATISTICS [WorkshopRoad]



а если обновить полностью with fullscan ?
Очень уже похоже на криву статистику.
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39618781
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarAnt,

Не, скорее всего sniffing. Разница между 800 и 35 лямов уж совсем большая.
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619175
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExB,

Для начала попробуйте заменить все переменные на константы и посмотрите на ожидаемое vs реальное количество строк.
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619191
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
А план такой:
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619192
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
При замене переменных @p3 или @p1 на константы запрос выполняется мгновенно. При замене остальных переменных на константы изменений не замечено.
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619194
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
Вот такая статистика запросов если @p1 заменить на константу:
(извиняюсь за широкоформатные изображения)
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619241
Mike_za
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKvboretsExB,

А если условия засунуть в JOIN ?
это всё менят

OPTION(RECOMPILE) или план не картинкой
OPTION(RECOMPILE)
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619453
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всегда было интересно - что имеется в виду под "фактическим"? На выборы пришло 110% населения?
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619806
nvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
nvv
Гость
ExB,
Перепишите соединения на вложенные и добавьте условия в соединение.
Исчезнут nested loops и все будет работать мгновенно.
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619866
Mike_za
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nvvExB,
Перепишите соединения на вложенные и добавьте условия в соединение.
Исчезнут nested loops и все будет работать мгновенно.
очень врядли. Такие простые условия соединения оптимизатор сам переставит как сочтет нужным
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619874
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если так?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SELECT [t0].*
FROM
(
	Select *
	From [dbo].[WorkshopRoad] 
	Where [FkWorkshop] = @p1
) AS [t0]
INNER JOIN 
(select [PkClaimStrAssembly]
from [dbo].[ClaimStrAssembly]
where [FkProduct] = @p0 AND [Quantity] > @p4
) AS [t1] 
ON [t0].[FkClaimStrAssembly]=[t1].[PkClaimStrAssembly]
INNER JOIN 
(select [PkClaimStr],[FkClaim],[FkProduct]
from [dbo].[ClaimStr]
where [t2].[FkClaim] = @p3
) AS [t2] ON [t1].[FkClaimStr]=[t2].[PkClaimStr]  
INNER JOIN [dbo].[Claim] AS [t3] ON [t2].[FkClaim]=[t3].[PkClaim]
WHERE 
	(([t2].[FkProduct] = @p2) OR ([t3].[OtklNumberProduct] = 1)) 
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39619928
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nvvExB,
Перепишите соединения на вложенные и добавьте условия в соединение.
Исчезнут nested loops и все будет работать мгновенно.
впечатляет
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39620376
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
OPTION(RECOMPILE)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Rows	Executes	StmtText	StmtId	NodeId	Parent	PhysicalOp	LogicalOp	Argument	DefinedValues	EstimateRows	EstimateIO	EstimateCPU	AvgRowSize	TotalSubtreeCost	OutputList	Warnings	Type	Parallel	EstimateExecutions
0	1	SELECT [t0].*  FROM [dbo].[WorkshopRoad] AS [t0]  INNER JOIN [dbo].[ClaimStrAssembly] AS [t1] ON [t1].[PkClaimStrAssembly] = [t0].[FkClaimStrAssembly]  INNER JOIN [dbo].[ClaimStr] AS [t2] ON [t2].[PkClaimStr] = [t1].[FkClaimStr]  INNER JOIN [dbo].[Claim] AS [t3] ON [t3].[PkClaim] = [t2].[FkClaim]  WHERE    (([t2].[FkProduct] = @p2) OR ([t3].[OtklNumberProduct] = 1))    AND ([t2].[FkClaim] = @p3)   AND  ([t1].[FkProduct] = @p0)    AND ([t0].[FkWorkshop] = @p1)    AND ([t1].[Quantity] > @p4)  OPTION(RECOMPILE)	1	1	0	NULL	NULL	NULL	NULL	1	NULL	NULL	NULL	11,48078	NULL	NULL	SELECT	0	NULL
0	1	  |--Nested Loops(Inner Join, WHERE:([Asupr].[dbo].[ClaimStr].[FkProduct] as [t2].[FkProduct]=(28178851) OR [Asupr].[dbo].[Claim].[OtklNumberProduct] as [t3].[OtklNumberProduct]=(1)))	1	2	1	Nested Loops	Inner Join	WHERE:([Asupr].[dbo].[ClaimStr].[FkProduct] as [t2].[FkProduct]=(28178851) OR [Asupr].[dbo].[Claim].[OtklNumberProduct] as [t3].[OtklNumberProduct]=(1))	NULL	1	0	4,18E-06	117	11,48078	[t0].[PkWorkshopRoad], [t0].[FkWorkshop], [t0].[FkClaimStrAssembly], [t0].[QuantityMade], [t0].[Quantity], [t0].[QuantityReady], [t0].[QuantityDefect], [t0].[QuantityKd], [t0].[Num], [t0].[Kind], [t0].[QuantityPdo], [t0].[QuantityMadeUnload], [t0].[QuantityCorrect], [t0].[QuantityMadeWorkshop]	NULL	PLAN_ROW	0	1
1	1	       |--Clustered Index Seek(OBJECT:([Asupr].[dbo].[Claim].[KeyPkClaim] AS [t3]), SEEK:([t3].[PkClaim]=(27331859)) ORDERED FORWARD)	1	3	2	Clustered Index Seek	Clustered Index Seek	OBJECT:([Asupr].[dbo].[Claim].[KeyPkClaim] AS [t3]), SEEK:([t3].[PkClaim]=(27331859)) ORDERED FORWARD	[t3].[OtklNumberProduct]	1	0,003125	0,0001581	9	0,0032831	[t3].[OtklNumberProduct]	NULL	PLAN_ROW	0	1
0	1	       |--Parallelism(Gather Streams)	1	4	2	Parallelism	Gather Streams	NULL	NULL	1	0	0,0285165	125	11,47749	[t0].[PkWorkshopRoad], [t0].[FkWorkshop], [t0].[FkClaimStrAssembly], [t0].[QuantityMade], [t0].[Quantity], [t0].[QuantityReady], [t0].[QuantityDefect], [t0].[QuantityKd], [t0].[Num], [t0].[Kind], [t0].[QuantityPdo], [t0].[QuantityMadeUnload], [t0].[QuantityCorrect], [t0].[QuantityMadeWorkshop], [t2].[FkProduct]	NULL	PLAN_ROW	1	1
0	12	            |--Hash Match(Inner Join, HASH:([t1].[PkClaimStrAssembly])=([t0].[FkClaimStrAssembly]), RESIDUAL:([Asupr].[dbo].[ClaimStrAssembly].[PkClaimStrAssembly] as [t1].[PkClaimStrAssembly]=[Asupr].[dbo].[WorkshopRoad].[FkClaimStrAssembly] as [t0].[FkClaimStrAssembly]))	1	5	4	Hash Match	Inner Join	HASH:([t1].[PkClaimStrAssembly])=([t0].[FkClaimStrAssembly]), RESIDUAL:([Asupr].[dbo].[ClaimStrAssembly].[PkClaimStrAssembly] as [t1].[PkClaimStrAssembly]=[Asupr].[dbo].[WorkshopRoad].[FkClaimStrAssembly] as [t0].[FkClaimStrAssembly])	NULL	1	0	0,01775669	125	11,44897	[t0].[PkWorkshopRoad], [t0].[FkWorkshop], [t0].[FkClaimStrAssembly], [t0].[QuantityMade], [t0].[Quantity], [t0].[QuantityReady], [t0].[QuantityDefect], [t0].[QuantityKd], [t0].[Num], [t0].[Kind], [t0].[QuantityPdo], [t0].[QuantityMadeUnload], [t0].[QuantityCorrect], [t0].[QuantityMadeWorkshop], [t2].[FkProduct]	NULL	PLAN_ROW	1	1
0	12	                 |--Bitmap(HASH:([t1].[PkClaimStrAssembly]), DEFINE:([Opt_Bitmap1004]))	1	6	5	Bitmap	Bitmap Create	HASH:([t1].[PkClaimStrAssembly])	[Opt_Bitmap1004]	1,228427	0	0,02850391	23	8,991221	[t1].[PkClaimStrAssembly], [t2].[FkProduct]	NULL	PLAN_ROW	1	1
0	12	                 |    |--Parallelism(Distribute Streams, Broadcast Partitioning)	1	7	6	Parallelism	Distribute Streams	NULL	NULL	1,228427	0	0,02850391	23	8,991221	[t1].[PkClaimStrAssembly], [t2].[FkProduct]	NULL	PLAN_ROW	1	1
0	1	                 |         |--Nested Loops(Inner Join, OUTER REFERENCES:([t2].[PkClaimStr]))	1	8	7	Nested Loops	Inner Join	OUTER REFERENCES:([t2].[PkClaimStr])	NULL	1,228427	0	5,134826E-06	23	8,962718	[t1].[PkClaimStrAssembly], [t2].[FkProduct]	NULL	PLAN_ROW	0	1
0	1	                 |              |--Parallelism(Gather Streams)	1	9	8	Parallelism	Gather Streams	NULL	NULL	1,228427	0	0,02850319	23	8,959394	[t1].[PkClaimStrAssembly], [t2].[PkClaimStr]	NULL	PLAN_ROW	1	1
0	12	                 |              |    |--Nested Loops(Inner Join, OUTER REFERENCES:([t1].[FkClaimStr], [Expr1005]) WITH UNORDERED PREFETCH)	1	10	9	Nested Loops	Inner Join	OUTER REFERENCES:([t1].[FkClaimStr], [Expr1005]) WITH UNORDERED PREFETCH	NULL	1,228427	0	1,825085E-05	23	8,93089	[t1].[PkClaimStrAssembly], [t2].[PkClaimStr]	NULL	PLAN_ROW	1	1
1	12	                 |              |         |--Parallelism(Repartition Streams, RoundRobin Partitioning)	1	12	10	Parallelism	Repartition Streams	NULL	NULL	26,19739	0	0,0285139	23	8,952119	[t1].[PkClaimStrAssembly], [t1].[FkClaimStr]	NULL	PLAN_ROW	1	1
1	12	                 |              |         |    |--Clustered Index Scan(OBJECT:([Asupr].[dbo].[ClaimStrAssembly].[KeyPkAssembly] AS [t1]), WHERE:([Asupr].[dbo].[ClaimStrAssembly].[FkProduct] as [t1].[FkProduct]=(20967006) AND [Asupr].[dbo].[ClaimStrAssembly].[Quantity] as [t1].[Quantity]>(0.)))	1	13	12	Clustered Index Scan	Clustered Index Scan	OBJECT:([Asupr].[dbo].[ClaimStrAssembly].[KeyPkAssembly] AS [t1]), WHERE:([Asupr].[dbo].[ClaimStrAssembly].[FkProduct] as [t1].[FkProduct]=(20967006) AND [Asupr].[dbo].[ClaimStrAssembly].[Quantity] as [t1].[Quantity]>(0.))	[t1].[PkClaimStrAssembly], [t1].[FkClaimStr]	26,19739	8,684607	0,1327886	40	8,817395	[t1].[PkClaimStrAssembly], [t1].[FkClaimStr]	NULL	PLAN_ROW	1	1
0	1	                 |              |         |--Index Seek(OBJECT:([Asupr].[dbo].[ClaimStr].[I_ClaimStr_FkClaim] AS [t2]), SEEK:([t2].[FkClaim]=(27331859) AND [t2].[PkClaimStr]=[Asupr].[dbo].[ClaimStrAssembly].[FkClaimStr] as [t1].[FkClaimStr]) ORDERED FORWARD)	1	14	10	Index Seek	Index Seek	OBJECT:([Asupr].[dbo].[ClaimStr].[I_ClaimStr_FkClaim] AS [t2]), SEEK:([t2].[FkClaim]=(27331859) AND [t2].[PkClaimStr]=[Asupr].[dbo].[ClaimStrAssembly].[FkClaimStr] as [t1].[FkClaimStr]) ORDERED FORWARD	[t2].[PkClaimStr]	1	0,003125	0,0001581	15	0,007266807	[t2].[PkClaimStr]	NULL	PLAN_ROW	1	26,19739
0	0	                 |              |--Clustered Index Seek(OBJECT:([Asupr].[dbo].[ClaimStr].[KeyPkClaimStr] AS [t2]), SEEK:([t2].[PkClaimStr]=[Asupr].[dbo].[ClaimStr].[PkClaimStr] as [t2].[PkClaimStr]) LOOKUP ORDERED FORWARD)	1	16	8	Clustered Index Seek	Clustered Index Seek	OBJECT:([Asupr].[dbo].[ClaimStr].[KeyPkClaimStr] AS [t2]), SEEK:([t2].[PkClaimStr]=[Asupr].[dbo].[ClaimStr].[PkClaimStr] as [t2].[PkClaimStr]) LOOKUP ORDERED FORWARD	[t2].[FkProduct]	1	0,003125	0,0001581	15	0,003319214	[t2].[FkProduct]	NULL	PLAN_ROW	0	1,228427
0	12	                 |--Index Seek(OBJECT:([Asupr].[dbo].[WorkshopRoad].[I_WorkshopRoad_FkWorkshop] AS [t0]), SEEK:([t0].[FkWorkshop]=(8)),  WHERE:(PROBE([Opt_Bitmap1004],[Asupr].[dbo].[WorkshopRoad].[FkClaimStrAssembly] as [t0].[FkClaimStrAssembly],N'[IN ROW]')) ORDERED FORWARD)	1	18	5	Index Seek	Index Seek	OBJECT:([Asupr].[dbo].[WorkshopRoad].[I_WorkshopRoad_FkWorkshop] AS [t0]), SEEK:([t0].[FkWorkshop]=(8)),  WHERE:(PROBE([Opt_Bitmap1004],[Asupr].[dbo].[WorkshopRoad].[FkClaimStrAssembly] as [t0].[FkClaimStrAssembly],N'[IN ROW]')) ORDERED FORWARD	[t0].[PkWorkshopRoad], [t0].[FkWorkshop], [t0].[FkClaimStrAssembly], [t0].[QuantityMade], [t0].[Quantity], [t0].[QuantityReady], [t0].[QuantityDefect], [t0].[QuantityKd], [t0].[Num], [t0].[Kind], [t0].[QuantityPdo], [t0].[QuantityMadeUnload], [t0].[QuantityCorrect], [t0].[QuantityMadeWorkshop]	219063,1	2,382277	0,04018773	117	2,422465	[t0].[PkWorkshopRoad], [t0].[FkWorkshop], [t0].[FkClaimStrAssembly], [t0].[QuantityMade], [t0].[Quantity], [t0].[QuantityReady], [t0].[QuantityDefect], [t0].[QuantityKd], [t0].[Num], [t0].[Kind], [t0].[QuantityPdo], [t0].[QuantityMadeUnload], [t0].[QuantityCorrect], [t0].[QuantityMadeWorkshop]	NULL	PLAN_ROW	1	1
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39620377
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
nvvExB,
Перепишите соединения на вложенные и добавьте условия в соединение.
Исчезнут nested loops и все будет работать мгновенно.

nvv, это предлагается сделать так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT [t0].*
FROM [dbo].[WorkshopRoad] AS [t0]
INNER JOIN (select t1.[PkClaimStrAssembly] from [dbo].[ClaimStrAssembly] AS [t1] 
INNER JOIN [dbo].[ClaimStr] AS [t2] ON [t2].[PkClaimStr] = [t1].[FkClaimStr]
INNER JOIN [dbo].[Claim] AS [t3] ON [t3].[PkClaim] = [t2].[FkClaim]
WHERE 
	(([t2].[FkProduct] = @p2) OR ([t3].[OtklNumberProduct] = 1)) 
	AND ([t2].[FkClaim] = @p3)
	AND  ([t1].[FkProduct] = @p0) 
	AND ([t1].[Quantity] > @p4)) AS [t1] ON [t1].[PkClaimStrAssembly] = [t0].[FkClaimStrAssembly]
WHERE 
	([t0].[FkWorkshop] = @p1) 



Если да, то не помогло
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39621624
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExBnvvExB,
Перепишите соединения на вложенные и добавьте условия в соединение.
Исчезнут nested loops и все будет работать мгновенно.
Если да, то не помогло
Какой смысл что-то переписывать если оптимизатор тупо не видит значений параметров? Правильный ответ уже сказали выше - OPTION(RECOMPILE)
...
Рейтинг: 0 / 0
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
    #39621805
ExB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ExB
Гость
Решение OPTION(RECOMPILE)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT [t0].*
FROM [dbo].[WorkshopRoad] AS [t0]
INNER JOIN [dbo].[ClaimStrAssembly] AS [t1] ON [t1].[PkClaimStrAssembly] = [t0].[FkClaimStrAssembly]
INNER JOIN [dbo].[ClaimStr] AS [t2] ON [t2].[PkClaimStr] = [t1].[FkClaimStr]
INNER JOIN [dbo].[Claim] AS [t3] ON [t3].[PkClaim] = [t2].[FkClaim]
WHERE 
	(([t2].[FkProduct] = @p2) OR ([t3].[OtklNumberProduct] = 1)) 
	AND ([t2].[FkClaim] = @p3) 
	AND  ([t1].[FkProduct] = @p0) 
	AND ([t0].[FkWorkshop] = @p1) 
	AND ([t1].[Quantity] > @p4)
OPTION(RECOMPILE)



Всем спасибо!
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]