Запрос - хочу быстрее

vasjok
Дата: 14.09.2006 18:00:43
сервак:
Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

комп:
4х процессорный 8Г памяти (5 под SQL +3)

сетка: 100Мб

запрос:
SELECT  
	СЗДД.ID_КартаСкладаDest,
	СДД.ID_Получатель	as ID_Подразделения,
	СКС.ID_Материала 	as ID_Материала, 
	СКС.ID_Счет		as ID_Счет,
	СЗДД.ID_ПартииТМЦ	as ID_Партии,
	СЗДД.ID_Организации	as ID_Организации,
	СЗДД.ID_ПартияПодразделение,
	СЗДД.ID_ЗаписиЗаказаTo  as ID_ЗаписиЗаказа, 
	SUM(СРЗ.Значение/ЕИ2.КоэфицентПересчета) As Количество, 
	ЕИ2.ID_ЕдИзм 		AS ID_ЕдИзм,
	РМЦ.ID_Размерность,
	РМЦ.flMain as isBASE
FROM oz.СклДокументыДвижения СДД 
	INNER JOIN oz.СклЗаписиДокДвижения СЗДД ON СЗДД.ID_ДокДвижения = СДД.ID_ДокДвижения 
	INNER JOIN oz.СклКартаСклада СКС ON СКС.ID_КартаСклада = СЗДД.ID_КартаСкладаDest 
	INNER JOIN oz.СклРазмерностьЗапаса СРЗ ON СРЗ.ID_ЗаписиДокДвижения = СЗДД.ID_ЗаписиДокДвижения 
	INNER JOIN dbo.sprРазмерностиМатЦенностей РМЦ ON РМЦ.IDРазмМатЦенности = СРЗ.IDРазмМатЦенности 
	INNER JOIN dbo.sprТМЦ_ЕдИзмРазмерностиМЦДоп ТМЦЕИР ON ТМЦЕИР.IDРазмМатЦенности = РМЦ.IDРазмМатЦенности 
	INNER JOIN dbo.sprЕдИзм ЕИ2 ON ЕИ2.ID_ЕдИзм = ТМЦЕИР.ID_ЕдИзм 
	INNER JOIN dbo.sprВидыДокументов ВД ON ВД.ID_Документ = СДД.ID_Документ
WHERE 	(ТипДвиж = 0) 
	AND (isnull(ВД.НеОборотный,0) = 0)
	AND (СДД.ДатаДок BETWEEN '01.06.2006' AND '30.06.2006')
	AND (ТМЦЕИР.ID_ФормаПредставления = 3)
	AND (СДД.ID_Сдатчик IS NULL)
GROUP BY СЗДД.ID_КартаСкладаDest, СДД.ID_Получатель, СКС.ID_Материала, СКС.ID_Счет, СЗДД.ID_ПартииТМЦ, 
	СЗДД.ID_Организации, СЗДД.ID_ПартияПодразделение, СЗДД.ID_ЗаписиЗаказаTo, ЕИ2.ID_ЕдИзм, РМЦ.flMain, РМЦ.ID_Размерность

индексы кроме прочих: по всем соединябельным полям есть и по тем что во WHERE




возвращается 5-8 секунд (смотрю в SMS) чуствую что можно быстрее, но не могу ускориться... :(

вот план
StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  |--Compute Scalar(DEFINE:([Expr1008]=If ([Expr1015]=0) then NULL else [Expr1016]))
       |--Stream Aggregate(GROUP BY:([СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [ТМЦЕИР].[ID_ЕдИзм], [РМЦ].[flMain], [РМЦ].[ID_Размерность
            |--Sort(ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC, [СДД].[ID_Получатель] ASC, [СЗДД].[ID_ПартииТМЦ] ASC, [СЗДД].[ID_Организации] ASC, [СЗДД].[ID_ПартияПодразделение] ASC, [СЗДД].[ID_ЗаписиЗаказаTo] ASC, [ТМЦЕИР].[ID_ЕдИзм] ASC, [РМЦ].[flMain] A
                 |--Hash Match(Inner Join, HASH:([ЕИ2].[ID_ЕдИзм])=([ТМЦЕИР].[ID_ЕдИзм]))
                      |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprЕдИзм].[PK_ЕдИзм] AS [ЕИ2]))
                      |--Merge Join(Inner Join, MERGE:([ТМЦЕИР].[IDРазмМатЦенности])=([СРЗ].[IDРазмМатЦенности]), RESIDUAL:([СРЗ].[IDРазмМатЦенности]=[ТМЦЕИР].[IDРазмМатЦенности]))
                           |--Clustered Index Seek(OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп].[PK_sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]), SEEK:([ТМЦЕИР].[ID_ФормаПредставления]=3) ORDERED FORWARD)
                           |--Sort(ORDER BY:([СРЗ].[IDРазмМатЦенности] ASC))
                                |--Hash Match(Inner Join, HASH:([СРЗ].[IDРазмМатЦенности])=([РМЦ].[IDРазмМатЦенности]))
                                     |--Merge Join(Inner Join, MERGE:([СКС].[ID_КартаСклада])=([СЗДД].[ID_КартаСкладаDest]), RESIDUAL:([СЗДД].[ID_КартаСкладаDest]=[СКС].[ID_КартаСклада]))
                                     |    |--Index Scan(OBJECT:([RedOkt].[oz].[СклКартаСклада].[PK_СклКартаСклада] AS [СКС]), ORDERED FORWARD)
                                     |    |--Sort(ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC))
                                     |         |--Hash Match(Inner Join, HASH:([СЗДД].[ID_ЗаписиДокДвижения])=([СРЗ].[ID_ЗаписиДокДвижения]))
                                     |              |--Bookmark Lookup(BOOKMARK:([Bmk1001]), OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения] AS [СЗДД]))
                                     |              |    |--Nested Loops(Inner Join, OUTER REFERENCES:([СДД].[ID_ДокДвижения]) WITH PREFETCH)
                                     |              |         |--Nested Loops(Inner Join, OUTER REFERENCES:([ВД].[ID_Документ]) WITH PREFETCH)
                                     |              |         |    |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprВидыДокументов].[PK_sprВидыДокументов] AS [ВД]), WHERE:(Convert(isnull([ВД].[НеОборотный], 0))=0))
                                     |              |         |    |--Clustered Index Seek(OBJECT:([RedOkt].[oz].[СклДокументыДвижения].[СклДокументыДвижения2] AS [СДД]), SEEK:([СДД].[ID_Документ]=[ВД].[ID_Документ] AND [СДД].[ДатаДок] >= 'июн  1 2006 12:0
                                     |              |         |--Index Seek(OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения].[СклЗаписиДокДвижения33] AS [СЗДД]), SEEK:([СЗДД].[ID_ДокДвижения]=[СДД].[ID_ДокДвижения]) ORDERED FORWARD)
                                     |              |--Table Scan(OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса] AS [СРЗ]))
                                     |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей].[sprРазмерностиМатЦенностей2] AS [РМЦ]))

возвращает каких-то ~3000 строк...

помогите кто чем может.
Prolog
Дата: 14.09.2006 18:06:05
Вы план вернули, полученный через set statistics profile on. Там видно сколько записей обрабатывается на каждой ветке. И с какого момента это количество резко уменьшается.
vasjok
Дата: 15.09.2006 08:17:27
это ?
3341        1             |--Compute Scalar(DEFINE:([Expr1008]=If ([Expr1015]=0) then NULL else [Expr1016]))                                                                                                                                                                             9           2           1           Compute Scalar                 Compute Scalar                 DEFINE:([Expr1008]=If ([Expr1015]=0) then NULL else [Expr1016])                                                                                                                                                                                                  [Expr1008]=If ([Expr1015]=0) then NULL else [Expr1016]                                                                                                                                                                7789,626      0             0,05803271    55          59,39733         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [РМЦ].[flMain], [РМЦ].[ID_Размерность], [ТМЦЕИР].[ID_ЕдИ NULL     PLAN_ROW                       0        1
3341        1                  |--Stream Aggregate(GROUP BY:([СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [ТМЦЕИР].[ID_ЕдИзм], [РМЦ].[flMain], [РМЦ].[ID_Размерность 9           3           2           Stream Aggregate               Aggregate                      GROUP BY:([СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [ТМЦЕИР].[ID_ЕдИзм], [РМЦ].[flMain], [РМЦ].[ID_Размерность])                          [Expr1015]=COUNT_BIG([СРЗ].[Значение]/[ЕИ2].[КоэфицентПересчета]), [Expr1016]=SUM([СРЗ].[Значение]/[ЕИ2].[КоэфицентПересчета]), [СКС].[ID_Материала]=ANY([СКС].[ID_Материала]), [СКС].[Id_Счет]=ANY([СКС].[Id_Счет])  7789,626      0             0,05803271    55          59,39733         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [РМЦ].[flMain], [РМЦ].[ID_Размерность], [ТМЦЕИР].[ID_ЕдИ NULL     PLAN_ROW                       0        1
5641        1                       |--Sort(ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC, [СДД].[ID_Получатель] ASC, [СЗДД].[ID_ПартииТМЦ] ASC, [СЗДД].[ID_Организации] ASC, [СЗДД].[ID_ПартияПодразделение] ASC, [СЗДД].[ID_ЗаписиЗаказаTo] ASC, [ТМЦЕИР].[ID_ЕдИзм] ASC, [РМЦ].[flMain] A 9           5           3           Sort                           Sort                           ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC, [СДД].[ID_Получатель] ASC, [СЗДД].[ID_ПартииТМЦ] ASC, [СЗДД].[ID_Организации] ASC, [СЗДД].[ID_ПартияПодразделение] ASC, [СЗДД].[ID_ЗаписиЗаказаTo] ASC, [ТМЦЕИР].[ID_ЕдИзм] ASC, [РМЦ].[flMain] ASC, [РМЦ].[ID_Размер NULL                                                                                                                                                                                                                  7789,626      0,01126126    0,3235362     67          59,33929         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[Значение], [РМЦ].[flMain], [РМЦ].[ID_Размерность] NULL     PLAN_ROW                       0        1
5641        1                            |--Hash Match(Inner Join, HASH:([ЕИ2].[ID_ЕдИзм])=([ТМЦЕИР].[ID_ЕдИзм]))                                                                                                                                                                        9           6           5           Hash Match                     Inner Join                     HASH:([ЕИ2].[ID_ЕдИзм])=([ТМЦЕИР].[ID_ЕдИзм])                                                                                                                                                                                                                    NULL                                                                                                                                                                                                                  7789,626      0             0,06468906    67          59,0045          [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[Значение], [РМЦ].[flMain], [РМЦ].[ID_Размерность] NULL     PLAN_ROW                       0        1
59          1                                 |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprЕдИзм].[PK_ЕдИзм] AS [ЕИ2]))                                                                                                                                                            9           7           6           Clustered Index Scan           Clustered Index Scan           OBJECT:([RedOkt].[dbo].[sprЕдИзм].[PK_ЕдИзм] AS [ЕИ2])                                                                                                                                                                                                           [ЕИ2].[КоэфицентПересчета], [ЕИ2].[ID_ЕдИзм]                                                                                                                                                                          59            0,0375785     0,0001434     112         0,0377219        [ЕИ2].[КоэфицентПересчета], [ЕИ2].[ID_ЕдИзм]                                                                                                                                                                                                                     NULL     PLAN_ROW                       0        1
5641        1                                 |--Merge Join(Inner Join, MERGE:([ТМЦЕИР].[IDРазмМатЦенности])=([СРЗ].[IDРазмМатЦенности]), RESIDUAL:([СРЗ].[IDРазмМатЦенности]=[ТМЦЕИР].[IDРазмМатЦенности]))                                                                             9           8           6           Merge Join                     Inner Join                     MERGE:([ТМЦЕИР].[IDРазмМатЦенности])=([СРЗ].[IDРазмМатЦенности]), RESIDUAL:([СРЗ].[IDРазмМатЦенности]=[ТМЦЕИР].[IDРазмМатЦенности])                                                                                                                              NULL                                                                                                                                                                                                                  8462,118      0             0,3689741     87          58,90208         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[Значение], [РМЦ].[flMain], [РМЦ].[ID_Размерность] NULL     PLAN_ROW                       0        1
142790      1                                      |--Clustered Index Seek(OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп].[PK_sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]), SEEK:([ТМЦЕИР].[ID_ФормаПредставления]=3) ORDERED FORWARD)                                              9           9           8           Clustered Index Seek           Clustered Index Seek           OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп].[PK_sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]), SEEK:([ТМЦЕИР].[ID_ФормаПредставления]=3) ORDERED FORWARD                                                                                                  [ТМЦЕИР].[IDРазмМатЦенности], [ТМЦЕИР].[ID_ЕдИзм]                                                                                                                                                                     145141        0,2432034     0,160169      34          0,4033724        [ТМЦЕИР].[IDРазмМатЦенности], [ТМЦЕИР].[ID_ЕдИзм]                                                                                                                                                                                                                NULL     PLAN_ROW                       0        1
5641        1                                      |--Sort(ORDER BY:([СРЗ].[IDРазмМатЦенности] ASC))                                                                                                                                                                                     9           11          8           Sort                           Sort                           ORDER BY:([СРЗ].[IDРазмМатЦенности] ASC)                                                                                                                                                                                                                         NULL                                                                                                                                                                                                                  8494,103      0,01126126    0,4031382     59          58,12973         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[IDРазмМатЦенности], [СРЗ].[Значение], [РМЦ].[flMa NULL     PLAN_ROW                       0        1
5641        1                                           |--Hash Match(Inner Join, HASH:([СРЗ].[IDРазмМатЦенности])=([РМЦ].[IDРазмМатЦенности]))                                                                                                                                          9           12          11          Hash Match                     Inner Join                     HASH:([СРЗ].[IDРазмМатЦенности])=([РМЦ].[IDРазмМатЦенности])                                                                                                                                                                                                     NULL                                                                                                                                                                                                                  8494,103      0             0,932435      59          57,71534         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[IDРазмМатЦенности], [СРЗ].[Значение], [РМЦ].[IDРа NULL     PLAN_ROW                       0        1
5641        1                                                |--Merge Join(Inner Join, MERGE:([СКС].[ID_КартаСклада])=([СЗДД].[ID_КартаСкладаDest]), RESIDUAL:([СЗДД].[ID_КартаСкладаDest]=[СКС].[ID_КартаСклада]))                                                                      9           13          12          Merge Join                     Inner Join                     MERGE:([СКС].[ID_КартаСклада])=([СЗДД].[ID_КартаСкладаDest]), RESIDUAL:([СЗДД].[ID_КартаСкладаDest]=[СКС].[ID_КартаСклада])                                                                                                                                      NULL                                                                                                                                                                                                                  8547,477      0             0,6546293     85          56,27966         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[IDРазмМатЦенности], [СРЗ].[Значение]              NULL     PLAN_ROW                       0        1
252933      1                                                |    |--Index Scan(OBJECT:([RedOkt].[oz].[СклКартаСклада].[PK_СклКартаСклада] AS [СКС]), ORDERED FORWARD)                                                                                                                   9           14          13          Index Scan                     Index Scan                     OBJECT:([RedOkt].[oz].[СклКартаСклада].[PK_СклКартаСклада] AS [СКС]), ORDERED FORWARD                                                                                                                                                                            [СКС].[ID_КартаСклада], [СКС].[ID_Материала], [СКС].[Id_Счет]                                                                                                                                                         260802        0,6123933     0,2869607     48          0,899354         [СКС].[ID_КартаСклада], [СКС].[ID_Материала], [СКС].[Id_Счет]                                                                                                                                                                                                    NULL     PLAN_ROW                       0        1
5641        1                                                |    |--Sort(ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC))                                                                                                                                                                    9           15          13          Sort                           Sort                           ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC)                                                                                                                                                                                                                       NULL                                                                                                                                                                                                                  13970,38      0,01126126    0,8830937     43          54,72567         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СРЗ].[IDРазмМатЦенности], [СРЗ].[Значение]                                                     NULL     PLAN_ROW                       0        1
5641        1                                                |         |--Hash Match(Inner Join, HASH:([СЗДД].[ID_ЗаписиДокДвижения])=([СРЗ].[ID_ЗаписиДокДвижения]))                                                                                                                    9           16          15          Hash Match                     Inner Join                     HASH:([СЗДД].[ID_ЗаписиДокДвижения])=([СРЗ].[ID_ЗаписиДокДвижения])                                                                                                                                                                                              NULL                                                                                                                                                                                                                  13970,38      0             17,2457       52          53,83132         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СРЗ].[IDРазмМатЦенности], [СРЗ].[Значение]                                                     NULL     PLAN_ROW                       0        1
4601        1                                                |              |--Bookmark Lookup(BOOKMARK:([Bmk1001]), OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения] AS [СЗДД]))                                                                                                            9           17          16          Bookmark Lookup                Bookmark Lookup                BOOKMARK:([Bmk1001]), OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения] AS [СЗДД])                                                                                                                                                                                    [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]                                               10924,32      22,00243      0,01201676    193         23,5102          [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]                                                                   NULL     PLAN_ROW                       0        1
4601        1                                                |              |    |--Nested Loops(Inner Join, OUTER REFERENCES:([СДД].[ID_ДокДвижения]) WITH PREFETCH)                                                                                                                    9           19          17          Nested Loops                   Inner Join                     OUTER REFERENCES:([СДД].[ID_ДокДвижения]) WITH PREFETCH                                                                                                                                                                                                          NULL                                                                                                                                                                                                                  10924,32      0             0,04566367    164         1,495758         [СДД].[ID_Получатель], [Bmk1001]                                                                                                                                                                                                                                 NULL     PLAN_ROW                       0        1
2998        1                                                |              |         |--Nested Loops(Inner Join, OUTER REFERENCES:([ВД].[ID_Документ]) WITH PREFETCH)                                                                                                                   9           21          19          Nested Loops                   Inner Join                     OUTER REFERENCES:([ВД].[ID_Документ]) WITH PREFETCH                                                                                                                                                                                                              NULL                                                                                                                                                                                                                  533,4438      0             0,002229795   150         0,0534425        [СДД].[ID_ДокДвижения], [СДД].[ID_Получатель]                                                                                                                                                                                                                    NULL     PLAN_ROW                       0        1
60          1                                                |              |         |    |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprВидыДокументов].[PK_sprВидыДокументов] AS [ВД]), WHERE:(Convert(isnull([ВД].[НеОборотный], 0))=0))                                         9           23          21          Clustered Index Scan           Clustered Index Scan           OBJECT:([RedOkt].[dbo].[sprВидыДокументов].[PK_sprВидыДокументов] AS [ВД]), WHERE:(Convert(isnull([ВД].[НеОборотный], 0))=0)                                                                                                                                     [ВД].[ID_Документ], [ВД].[НеОборотный]                                                                                                                                                                                60            0,0375785     0,0001478     57          0,0377263        [ВД].[ID_Документ], [ВД].[НеОборотный]                                                                                                                                                                                                                           NULL     PLAN_ROW                       0        1
2998        60                                               |              |         |    |--Clustered Index Seek(OBJECT:([RedOkt].[oz].[СклДокументыДвижения].[СклДокументыДвижения2] AS [СДД]), SEEK:([СДД].[ID_Документ]=[ВД].[ID_Документ] AND [СДД].[ДатаДок] >= 'июн  1 2006 12:0 9           24          21          Clustered Index Seek           Clustered Index Seek           OBJECT:([RedOkt].[oz].[СклДокументыДвижения].[СклДокументыДвижения2] AS [СДД]), SEEK:([СДД].[ID_Документ]=[ВД].[ID_Документ] AND [СДД].[ДатаДок] >= 'июн  1 2006 12:00AM' AND [СДД].[ДатаДок] <= 'июн 30 2006 12:00AM'),  WHERE:([СДД].[ТипДвиж]=0 AND [СДД].[ID [СДД].[ID_ДокДвижения], [СДД].[ID_Сдатчик], [СДД].[ТипДвиж], [СДД].[ID_Получатель]                                                                                                                                    8,89073       0,003203401   8,836871E-05  101         0,01296784       [СДД].[ID_ДокДвижения], [СДД].[ID_Сдатчик], [СДД].[ТипДвиж], [СДД].[ID_Получатель]                                                                                                                                                                               NULL     PLAN_ROW                       0        60
4601        2998                                             |              |         |--Index Seek(OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения].[СклЗаписиДокДвижения33] AS [СЗДД]), SEEK:([СЗДД].[ID_ДокДвижения]=[СДД].[ID_ДокДвижения]) ORDERED FORWARD)                             9           25          19          Index Seek                     Index Seek                     OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения].[СклЗаписиДокДвижения33] AS [СЗДД]), SEEK:([СЗДД].[ID_ДокДвижения]=[СДД].[ID_ДокДвижения]) ORDERED FORWARD                                                                                                          [Bmk1001]                                                                                                                                                                                                             20,47887      0,003203401   0,0001010882  23          1,396652         [Bmk1001]                                                                                                                                                                                                                                                        NULL     PLAN_ROW                       0        533,4438
3713331     1                                                |              |--Table Scan(OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса] AS [СРЗ]))                                                                                                                                        9           26          16          Table Scan                     Table Scan                     OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса] AS [СРЗ])                                                                                                                                                                                                           [СРЗ].[ID_ЗаписиДокДвижения], [СРЗ].[IDРазмМатЦенности], [СРЗ].[Значение]                                                                                                                                             3713116       8,990911      4,084506      31          13,07542         [СРЗ].[ID_ЗаписиДокДвижения], [СРЗ].[IDРазмМатЦенности], [СРЗ].[Значение]                                                                                                                                                                                        NULL     PLAN_ROW                       0        1
145142      1                                                |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей].[sprРазмерностиМатЦенностей2] AS [РМЦ]))                                                                                                        9           31          12          Clustered Index Scan           Clustered Index Scan           OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей].[sprРазмерностиМатЦенностей2] AS [РМЦ])                                                                                                                                                                      [РМЦ].[IDРазмМатЦенности], [РМЦ].[flMain], [РМЦ].[ID_Размерность]                                                                                                                                                     145140        0,1717522     0,07986625    43          0,5032369        [РМЦ].[IDРазмМатЦенности], [РМЦ].[flMain], [РМЦ].[ID_Размерность]                                                                                                                                                                                                NULL     PLAN_ROW                       0        1

vasjok
Дата: 15.09.2006 08:20:23
заодно поясните мне что значит во второй колонке?
WiRuc
Дата: 15.09.2006 09:41:01
SELECT  ID_КартаСкладаDest,
        ID_Подразделения,
        ID_Материала,
        ID_Счет,
        ID_Партии,
        ID_Организации,
        ID_ПартияПодразделение,
        ID_ЗаписиЗаказаTo,
        Количество/ЕИ2.КоэфицентПересчета as Количество,
        ЕИ2.ID_ЕдИзм 		AS ID_ЕдИзм,
    	РМЦ.ID_Размерность,
	    РМЦ.flMain as isBASE
FROM
(SELECT  
	СЗДД.ID_КартаСкладаDest,
	СДД.ID_Получатель	as ID_Подразделения,
	СКС.ID_Материала 	as ID_Материала, 
	СКС.ID_Счет		as ID_Счет,
	СЗДД.ID_ПартииТМЦ	as ID_Партии,
	СЗДД.ID_Организации	as ID_Организации,
	СЗДД.ID_ПартияПодразделение,
	СЗДД.ID_ЗаписиЗаказаTo  as ID_ЗаписиЗаказа, 
	SUM(СРЗ.Значение) As Количество,
    СРЗ.IDРазмМатЦенности
FROM oz.СклДокументыДвижения СДД 
	INNER JOIN oz.СклЗаписиДокДвижения СЗДД ON СЗДД.ID_ДокДвижения = СДД.ID_ДокДвижения 
	INNER JOIN oz.СклКартаСклада СКС ON СКС.ID_КартаСклада = СЗДД.ID_КартаСкладаDest 
	INNER JOIN oz.СклРазмерностьЗапаса СРЗ ON СРЗ.ID_ЗаписиДокДвижения = СЗДД.ID_ЗаписиДокДвижения 
	INNER JOIN dbo.sprВидыДокументов ВД ON ВД.ID_Документ = СДД.ID_Документ
WHERE 	(ТипДвиж = 0) 
	AND (ВД.НеОборотный = 0 OR ВД.НеОборотный is null)
	AND (СДД.ДатаДок BETWEEN '01.06.2006' AND '30.06.2006')
	AND (СДД.ID_Сдатчик IS NULL)
GROUP BY СЗДД.ID_КартаСкладаDest, 
         СДД.ID_Получатель,
         СКС.ID_Материала,
         СКС.ID_Счет,
         СЗДД.ID_ПартииТМЦ, 
         СЗДД.ID_Организации,
         СЗДД.ID_ПартияПодразделение,
         СЗДД.ID_ЗаписиЗаказаTo,
         СРЗ.IDРазмМатЦенности
) t1
INNER JOIN dbo.sprРазмерностиМатЦенностей РМЦ ON РМЦ.IDРазмМатЦенности = t1.IDРазмМатЦенности 
INNER JOIN dbo.sprТМЦ_ЕдИзмРазмерностиМЦДоп ТМЦЕИР ON ТМЦЕИР.IDРазмМатЦенности = РМЦ.IDРазмМатЦенности 
INNER JOIN dbo.sprЕдИзм ЕИ2 ON ЕИ2.ID_ЕдИзм = ТМЦЕИР.ID_ЕдИзм 
WHERE ТМЦЕИР.ID_ФормаПредставления = 3
vasjok
Дата: 15.09.2006 10:18:19
Твою мысль понял, но получается либо также либо чуть хуже вот план:

3341        1             |--Compute Scalar(DEFINE:([Expr1009]=[Expr1005]/[ЕИ2].[КоэфицентПересчета]))                                                                                                                                                                                   2           2           1           Compute Scalar                 Compute Scalar                 DEFINE:([Expr1009]=[Expr1005]/[ЕИ2].[КоэфицентПересчета])                                                                                                                                                                                                        [Expr1009]=[Expr1005]/[ЕИ2].[КоэфицентПересчета]                                                                                                                         7791,392      0             0,0007791392  55          58,80425         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [РМЦ].[ID_Размерность], [РМЦ].[flMain], [ЕИ2].[ID_ЕдИзм] NULL     PLAN_ROW                       0        1
3341        1                  |--Hash Match(Inner Join, HASH:([ЕИ2].[ID_ЕдИзм])=([ТМЦЕИР].[ID_ЕдИзм]))                                                                                                                                                                                  2           3           2           Hash Match                     Inner Join                     HASH:([ЕИ2].[ID_ЕдИзм])=([ТМЦЕИР].[ID_ЕдИзм])                                                                                                                                                                                                                    NULL                                                                                                                                                                     7791,392      0             0,06469952    67          58,80347         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [Expr1005], [РМЦ].[ID_Размерность], [РМЦ].[flMain], [ЕИ2 NULL     PLAN_ROW                       0        1
59          1                       |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprЕдИзм].[PK_ЕдИзм] AS [ЕИ2]))                                                                                                                                                                      2           4           3           Clustered Index Scan           Clustered Index Scan           OBJECT:([RedOkt].[dbo].[sprЕдИзм].[PK_ЕдИзм] AS [ЕИ2])                                                                                                                                                                                                           [ЕИ2].[КоэфицентПересчета], [ЕИ2].[ID_ЕдИзм]                                                                                                                             59            0,0375785     0,0001434     112         0,0377219        [ЕИ2].[КоэфицентПересчета], [ЕИ2].[ID_ЕдИзм]                                                                                                                                                                                                                     NULL     PLAN_ROW                       0        1
3341        1                       |--Hash Match(Inner Join, HASH:([ТМЦЕИР].[IDРазмМатЦенности])=([РМЦ].[IDРазмМатЦенности]))                                                                                                                                                           2           5           3           Hash Match                     Inner Join                     HASH:([ТМЦЕИР].[IDРазмМатЦенности])=([РМЦ].[IDРазмМатЦенности])                                                                                                                                                                                                  NULL                                                                                                                                                                     8464,037      0             0,947124      63          58,70105         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [Expr1005], [РМЦ].[ID_Размерность], [РМЦ].[flMain], [ТМЦ NULL     PLAN_ROW                       0        1
3341        1                            |--Merge Join(Inner Join, MERGE:([ТМЦЕИР].[IDРазмМатЦенности])=([СРЗ].[IDРазмМатЦенности]), RESIDUAL:([СРЗ].[IDРазмМатЦенности]=[ТМЦЕИР].[IDРазмМатЦенности]))                                                                                  2           6           5           Merge Join                     Inner Join                     MERGE:([ТМЦЕИР].[IDРазмМатЦенности])=([СРЗ].[IDРазмМатЦенности]), RESIDUAL:([СРЗ].[IDРазмМатЦенности]=[ТМЦЕИР].[IDРазмМатЦенности])                                                                                                                              NULL                                                                                                                                                                     8502,207      0             0,3692822     77          57,25068         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [Expr1005], [ТМЦЕИР].[IDРазмМатЦенности], [ТМЦЕИР].[ID_Е NULL     PLAN_ROW                       0        1
142790      1                            |    |--Clustered Index Seek(OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп].[PK_sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]), SEEK:([ТМЦЕИР].[ID_ФормаПредставления]=3) ORDERED FORWARD)                                                   2           7           6           Clustered Index Seek           Clustered Index Seek           OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп].[PK_sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]), SEEK:([ТМЦЕИР].[ID_ФормаПредставления]=3) ORDERED FORWARD                                                                                                  [ТМЦЕИР].[IDРазмМатЦенности], [ТМЦЕИР].[ID_ЕдИзм]                                                                                                                        145146        0,2432034     0,1601745     34          0,4033779        [ТМЦЕИР].[IDРазмМатЦенности], [ТМЦЕИР].[ID_ЕдИзм]                                                                                                                                                                                                                NULL     PLAN_ROW                       0        1
3341        1                            |    |--Stream Aggregate(GROUP BY:([СРЗ].[IDРазмМатЦенности], [СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]) DEFINE:([Expr100 2           8           6           Stream Aggregate               Aggregate                      GROUP BY:([СРЗ].[IDРазмМатЦенности], [СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo])                                                            [Expr1005]=SUM([СРЗ].[Значение]), [СКС].[ID_Материала]=ANY([СКС].[ID_Материала]), [СКС].[Id_Счет]=ANY([СКС].[Id_Счет])                                                   8549,426      0             0,06369322    50          56,47801         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[IDРазмМатЦенности], [Expr1005]                    NULL     PLAN_ROW                       0        1
5641        1                            |         |--Sort(ORDER BY:([СРЗ].[IDРазмМатЦенности] ASC, [СЗДД].[ID_КартаСкладаDest] ASC, [СДД].[ID_Получатель] ASC, [СЗДД].[ID_ПартииТМЦ] ASC, [СЗДД].[ID_Организации] ASC, [СЗДД].[ID_ПартияПодразделение] ASC, [СЗДД].[ID_ЗаписиЗаказаTo]  2           9           8           Sort                           Sort                           ORDER BY:([СРЗ].[IDРазмМатЦенности] ASC, [СЗДД].[ID_КартаСкладаDest] ASC, [СДД].[ID_Получатель] ASC, [СЗДД].[ID_ПартииТМЦ] ASC, [СЗДД].[ID_Организации] ASC, [СЗДД].[ID_ПартияПодразделение] ASC, [СЗДД].[ID_ЗаписиЗаказаTo] ASC)                                NULL                                                                                                                                                                     8549,426      0,01126126    0,4097675     50          56,41432         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]              NULL     PLAN_ROW                       0        1
5641        1                            |              |--Hash Match(Inner Join, HASH:([СЗДД].[ID_ЗаписиДокДвижения])=([СРЗ].[ID_ЗаписиДокДвижения]))                                                                                                                                   2           10          9           Hash Match                     Inner Join                     HASH:([СЗДД].[ID_ЗаписиДокДвижения])=([СРЗ].[ID_ЗаписиДокДвижения])                                                                                                                                                                                              NULL                                                                                                                                                                     8549,426      0             17,18232      58          55,99329         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет], [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]              NULL     PLAN_ROW                       0        1
4601        1                            |                   |--Merge Join(Inner Join, MERGE:([СКС].[ID_КартаСклада])=([СЗДД].[ID_КартаСкладаDest]), RESIDUAL:([СЗДД].[ID_КартаСкладаDest]=[СКС].[ID_КартаСклада]))                                                                      2           11          10          Merge Join                     Inner Join                     MERGE:([СКС].[ID_КартаСклада])=([СЗДД].[ID_КартаСкладаDest]), RESIDUAL:([СЗДД].[ID_КартаСкладаDest]=[СКС].[ID_КартаСклада])                                                                                                                                      NULL                                                                                                                                                                     6685,443      0             0,6328034     77          25,73291         [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[ID_Материала], [СКС].[Id_Счет]                            NULL     PLAN_ROW                       0        1
252933      1                            |                   |    |--Index Scan(OBJECT:([RedOkt].[oz].[СклКартаСклада].[PK_СклКартаСклада] AS [СКС]), ORDERED FORWARD)                                                                                                                   2           12          11          Index Scan                     Index Scan                     OBJECT:([RedOkt].[oz].[СклКартаСклада].[PK_СклКартаСклада] AS [СКС]), ORDERED FORWARD                                                                                                                                                                            [СКС].[ID_КартаСклада], [СКС].[ID_Материала], [СКС].[Id_Счет]                                                                                                            260861        0,6123933     0,2870256     48          0,8994189        [СКС].[ID_КартаСклада], [СКС].[ID_Материала], [СКС].[Id_Счет]                                                                                                                                                                                                    NULL     PLAN_ROW                       0        1
4601        1                            |                   |    |--Sort(ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC))                                                                                                                                                                    2           13          11          Sort                           Sort                           ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC)                                                                                                                                                                                                                       NULL                                                                                                                                                                     10926,77      0,01126126    0,6729433     35          24,20069         [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]                                                                   NULL     PLAN_ROW                       0        1
4601        1                            |                   |         |--Bookmark Lookup(BOOKMARK:([Bmk1001]), OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения] AS [СЗДД]))                                                                                                                 2           14          13          Bookmark Lookup                Bookmark Lookup                BOOKMARK:([Bmk1001]), OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения] AS [СЗДД])                                                                                                                                                                                    [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]  10926,77      22,00868      0,01201945    193         23,51649         [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]                                                                   NULL     PLAN_ROW                       0        1
4601        1                            |                   |              |--Nested Loops(Inner Join, OUTER REFERENCES:([СДД].[ID_ДокДвижения]) WITH PREFETCH)                                                                                                                         2           16          14          Nested Loops                   Inner Join                     OUTER REFERENCES:([СДД].[ID_ДокДвижения]) WITH PREFETCH                                                                                                                                                                                                          NULL                                                                                                                                                                     10926,77      0             0,0456739     164         1,495787         [СДД].[ID_Получатель], [Bmk1001]                                                                                                                                                                                                                                 NULL     PLAN_ROW                       0        1
2998        1                            |                   |                   |--Nested Loops(Inner Join, OUTER REFERENCES:([ВД].[ID_Документ]) WITH PREFETCH)                                                                                                                        2           18          16          Nested Loops                   Inner Join                     OUTER REFERENCES:([ВД].[ID_Документ]) WITH PREFETCH                                                                                                                                                                                                              NULL                                                                                                                                                                     533,4438      0             0,002229795   150         0,05345511       [СДД].[ID_ДокДвижения], [СДД].[ID_Получатель]                                                                                                                                                                                                                    NULL     PLAN_ROW                       0        1
60          1                            |                   |                   |    |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprВидыДокументов].[PK_sprВидыДокументов] AS [ВД]), WHERE:(Convert([ВД].[НеОборотный])=0 OR [ВД].[НеОборотный]=NULL))                              2           20          18          Clustered Index Scan           Clustered Index Scan           OBJECT:([RedOkt].[dbo].[sprВидыДокументов].[PK_sprВидыДокументов] AS [ВД]), WHERE:(Convert([ВД].[НеОборотный])=0 OR [ВД].[НеОборотный]=NULL)                                                                                                                     [ВД].[ID_Документ], [ВД].[НеОборотный]                                                                                                                                   60            0,0375785     0,0001478     57          0,0377263        [ВД].[ID_Документ], [ВД].[НеОборотный]                                                                                                                                                                                                                           NULL     PLAN_ROW                       0        1
2998        60                           |                   |                   |    |--Clustered Index Seek(OBJECT:([RedOkt].[oz].[СклДокументыДвижения].[СклДокументыДвижения2] AS [СДД]), SEEK:([СДД].[ID_Документ]=[ВД].[ID_Документ] AND [СДД].[ДатаДок] >= 'июн  1 2006 12:00AM'  2           21          18          Clustered Index Seek           Clustered Index Seek           OBJECT:([RedOkt].[oz].[СклДокументыДвижения].[СклДокументыДвижения2] AS [СДД]), SEEK:([СДД].[ID_Документ]=[ВД].[ID_Документ] AND [СДД].[ДатаДок] >= 'июн  1 2006 12:00AM' AND [СДД].[ДатаДок] <= 'июн 30 2006 12:00AM'),  WHERE:([СДД].[ТипДвиж]=0 AND [СДД].[ID [СДД].[ID_ДокДвижения], [СДД].[ID_Сдатчик], [СДД].[ТипДвиж], [СДД].[ID_Получатель]                                                                                       8,89073       0,003203401   8,836871E-05  101         0,01296784       [СДД].[ID_ДокДвижения], [СДД].[ID_Сдатчик], [СДД].[ТипДвиж], [СДД].[ID_Получатель]                                                                                                                                                                               NULL     PLAN_ROW                       0        60
4601        2998                         |                   |                   |--Index Seek(OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения].[СклЗаписиДокДвижения33] AS [СЗДД]), SEEK:([СЗДД].[ID_ДокДвижения]=[СДД].[ID_ДокДвижения]) ORDERED FORWARD)                                  2           22          16          Index Seek                     Index Seek                     OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения].[СклЗаписиДокДвижения33] AS [СЗДД]), SEEK:([СЗДД].[ID_ДокДвижения]=[СДД].[ID_ДокДвижения]) ORDERED FORWARD                                                                                                          [Bmk1001]                                                                                                                                                                20,48345      0,003203401   0,0001010932  23          1,396658         [Bmk1001]                                                                                                                                                                                                                                                        NULL     PLAN_ROW                       0        533,4438
3714637     1                            |                   |--Table Scan(OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса] AS [СРЗ]))                                                                                                                                                       2           26          10          Table Scan                     Table Scan                     OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса] AS [СРЗ])                                                                                                                                                                                                           [СРЗ].[ID_ЗаписиДокДвижения], [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]                                                                                                3714162       8,992393      4,085657      31          13,07805         [СРЗ].[ID_ЗаписиДокДвижения], [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]                                                                                                                                                                                        NULL     PLAN_ROW                       0        1
145147      1                            |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей].[sprРазмерностиМатЦенностей2] AS [РМЦ]))                                                                                                                            2           41          5           Clustered Index Scan           Clustered Index Scan           OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей].[sprРазмерностиМатЦенностей2] AS [РМЦ])                                                                                                                                                                      [РМЦ].[IDРазмМатЦенности], [РМЦ].[ID_Размерность], [РМЦ].[flMain]                                                                                                        145145        0,1717522     0,079869      43          0,5032424        [РМЦ].[IDРазмМатЦенности], [РМЦ].[ID_Размерность], [РМЦ].[flMain]                                                                                                                                                                                                NULL     PLAN_ROW                       0        1

vasjok
Дата: 15.09.2006 10:20:17
судя по плану больше всего времени занимает

4601        2998                         |                   |                   |--Index Seek...

не пойму почему он это делает?
vasjok
Дата: 15.09.2006 10:47:22
А вот если в конце добавить
OPTION (LOOP JOIN)
то начинает летать! :) раньше запрос сильно зависел от ширины временного интервала - сейчас почти нет. супер!

вот конечный план:
19918       1             |--Compute Scalar(DEFINE:([Expr1009]=[Expr1005]/[ЕИ2].[КоэфицентПересчета]))                                                                                                                                                                                   26          2           1           Compute Scalar                 Compute Scalar                 DEFINE:([Expr1009]=[Expr1005]/[ЕИ2].[КоэфицентПересчета])                                                                                                                                                                                                        [Expr1009]=[Expr1005]/[ЕИ2].[КоэфицентПересчета]                                                                                                                         9828,941      0             0,0009828942  55          91,81275         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [РМЦ].[ID_Материала], [РМЦ].[ID_Размерность], [РМЦ].[flMain], [ЕИ2].[ID_ЕдИзм] NULL     PLAN_ROW                       0        1
19918       1                  |--Parallelism(Gather Streams)                                                                                                                                                                                                                            26          3           2           Parallelism                    Gather Streams                 NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                     9828,941      0             0,1391493     212         91,81177         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [Expr1005], [РМЦ].[ID_Материала], [РМЦ].[ID_Размерность], [РМЦ].[flMain], [ЕИ2 NULL     PLAN_ROW                       1        1
19918       3                       |--Nested Loops(Inner Join, OUTER REFERENCES:([ТМЦЕИР].[ID_ЕдИзм]))                                                                                                                                                                                  26          4           3           Nested Loops                   Inner Join                     OUTER REFERENCES:([ТМЦЕИР].[ID_ЕдИзм])                                                                                                                                                                                                                           NULL                                                                                                                                                                     9828,941      0             0,02231596    212         91,67262         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [Expr1005], [РМЦ].[ID_Материала], [РМЦ].[ID_Размерность], [РМЦ].[flMain], [ЕИ2 NULL     PLAN_ROW                       1        1
19918       3                            |--Bookmark Lookup(BOOKMARK:([Bmk1006]), OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей] AS [РМЦ]))                                                                                                                                         26          5           4           Bookmark Lookup                Bookmark Lookup                BOOKMARK:([Bmk1006]), OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей] AS [РМЦ])                                                                                                                                                                              [РМЦ].[ID_Материала], [РМЦ].[ID_Размерность], [РМЦ].[flMain]                                                                                                             10677,49      0,4343612     0,005872621   108         90,79707         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [Expr1005], [РМЦ].[ID_Материала], [РМЦ].[ID_Размерность], [РМЦ].[flMain], [ТМЦ NULL     PLAN_ROW                       1        1
19918       3                            |    |--Nested Loops(Inner Join, OUTER REFERENCES:([ТМЦЕИР].[IDРазмМатЦенности]) WITH PREFETCH)                                                                                                                                                 26          7           5           Nested Loops                   Inner Join                     OUTER REFERENCES:([ТМЦЕИР].[IDРазмМатЦенности]) WITH PREFETCH                                                                                                                                                                                                    NULL                                                                                                                                                                     10677,49      0             0,02241662    107         90,35683         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [Expr1005], [Bmk1006], [ТМЦЕИР].[ID_ЕдИзм]                                     NULL     PLAN_ROW                       1        1
19918       3                            |         |--Bookmark Lookup(BOOKMARK:([Bmk1007]), OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]))                                                                                                                          26          9           7           Bookmark Lookup                Bookmark Lookup                BOOKMARK:([Bmk1007]), OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР])                                                                                                                                                                         [ТМЦЕИР].[IDРазмМатЦенности], [ТМЦЕИР].[ID_ЕдИзм]                                                                                                                        10725,66      0,4874845     0,005899112   73          68,51928         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [Expr1005], [ТМЦЕИР].[IDРазмМатЦенности], [ТМЦЕИР].[ID_ЕдИзм]                  NULL     PLAN_ROW                       1        1
19918       3                            |         |    |--Nested Loops(Inner Join, OUTER REFERENCES:([СРЗ].[IDРазмМатЦенности]) WITH PREFETCH)                                                                                                                                          26          11          9           Nested Loops                   Inner Join                     OUTER REFERENCES:([СРЗ].[IDРазмМатЦенности]) WITH PREFETCH                                                                                                                                                                                                       NULL                                                                                                                                                                     10725,66      0             0,0225451     69          68,02589         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [Expr1005], [Bmk1007]                                                          NULL     PLAN_ROW                       1        1
19918       3                            |         |         |--Stream Aggregate(GROUP BY:([СРЗ].[IDРазмМатЦенности], [СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]) D 26          13          11          Stream Aggregate               Aggregate                      GROUP BY:([СРЗ].[IDРазмМатЦенности], [СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo])                                                            [Expr1005]=SUM([СРЗ].[Значение]), [СКС].[Id_Счет]=ANY([СКС].[Id_Счет])                                                                                                   10787,13      0             0,04018205    46          65,23539         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [СРЗ].[IDРазмМатЦенности], [Expr1005]                                          NULL     PLAN_ROW                       1        1
63240       3                            |         |         |    |--Sort(ORDER BY:([СРЗ].[IDРазмМатЦенности] ASC, [СЗДД].[ID_КартаСкладаDest] ASC, [СДД].[ID_Получатель] ASC, [СЗДД].[ID_ПартииТМЦ] ASC, [СЗДД].[ID_Организации] ASC, [СЗДД].[ID_ПартияПодразделение] ASC, [СЗДД].[ID_З 26          14          13          Sort                           Sort                           ORDER BY:([СРЗ].[IDРазмМатЦенности] ASC, [СЗДД].[ID_КартаСкладаDest] ASC, [СДД].[ID_Получатель] ASC, [СЗДД].[ID_ПартииТМЦ] ASC, [СЗДД].[ID_Организации] ASC, [СЗДД].[ID_ПартияПодразделение] ASC, [СЗДД].[ID_ЗаписиЗаказаTo] ASC)                                NULL                                                                                                                                                                     10787,13      0,005630631   0,3317129     46          65,19521         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]                                    NULL     PLAN_ROW                       1        1
63240       3                            |         |         |         |--Parallelism(Repartition Streams, PARTITION COLUMNS:([СРЗ].[IDРазмМатЦенности], [СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделе 26          15          14          Parallelism                    Repartition Streams            PARTITION COLUMNS:([СРЗ].[IDРазмМатЦенности], [СЗДД].[ID_КартаСкладаDest], [СДД].[ID_Получатель], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo])                                                   NULL                                                                                                                                                                     10787,13      0             0,139095      62          64,85786         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]                                    NULL     PLAN_ROW                       1        1
63240       3                            |         |         |              |--Bookmark Lookup(BOOKMARK:([Bmk1003]), OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса] AS [СРЗ]))                                                                                                             26          16          15          Bookmark Lookup                Bookmark Lookup                BOOKMARK:([Bmk1003]), OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса] AS [СРЗ])                                                                                                                                                                                     [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]                                                                                                                              10787,13      20,36185      0,005932921   62          64,71877         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [СРЗ].[Значение], [СРЗ].[IDРазмМатЦенности]                                    NULL     PLAN_ROW                       1        1
63240       3                            |         |         |                   |--Nested Loops(Inner Join, OUTER REFERENCES:([СЗДД].[ID_ЗаписиДокДвижения]) WITH PREFETCH)                                                                                                             26          18          16          Nested Loops                   Inner Join                     OUTER REFERENCES:([СЗДД].[ID_ЗаписиДокДвижения]) WITH PREFETCH                                                                                                                                                                                                   NULL                                                                                                                                                                     10787,13      0             0,02254538    54          44,35098         [СДД].[ID_Получатель], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет], [Bmk1003]                                                                      NULL     PLAN_ROW                       1        1
56033       3                            |         |         |                        |--Sort(ORDER BY:([СЗДД].[ID_ЗаписиДокДвижения] ASC))                                                                                                                                              26          20          18          Sort                           Sort                           ORDER BY:([СЗДД].[ID_ЗаписиДокДвижения] ASC)                                                                                                                                                                                                                     NULL                                                                                                                                                                     8439,83       0,005630631   0,1983442     37          37,36341         [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет]                                                  NULL     PLAN_ROW                       1        1
56033       3                            |         |         |                        |    |--Nested Loops(Inner Join, OUTER REFERENCES:([СЗДД].[ID_КартаСкладаDest]) WITH PREFETCH)                                                                                                     26          21          20          Nested Loops                   Inner Join                     OUTER REFERENCES:([СЗДД].[ID_КартаСкладаDest]) WITH PREFETCH                                                                                                                                                                                                     NULL                                                                                                                                                                     8439,83       0             0,02883789    77          37,15944         [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo], [СКС].[Id_Счет]                                                  NULL     PLAN_ROW                       1        1
56033       3                            |         |         |                        |         |--Sort(ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC))                                                                                                                                      26          23          21          Sort                           Sort                           ORDER BY:([СЗДД].[ID_КартаСкладаDest] ASC)                                                                                                                                                                                                                       NULL                                                                                                                                                                     13798,04      0,005630631   0,4355331     35          33,69363         [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]                                                                   NULL     PLAN_ROW                       1        1
56033       3                            |         |         |                        |         |    |--Bookmark Lookup(BOOKMARK:([Bmk1001]), OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения] AS [СЗДД]))                                                                                   26          24          23          Bookmark Lookup                Bookmark Lookup                BOOKMARK:([Bmk1001]), OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения] AS [СЗДД])                                                                                                                                                                                    [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]  13798,04      29,41157      0,007588919   61          33,25246         [СДД].[ID_Получатель], [СЗДД].[ID_ЗаписиДокДвижения], [СЗДД].[ID_КартаСкладаDest], [СЗДД].[ID_ПартииТМЦ], [СЗДД].[ID_Организации], [СЗДД].[ID_ПартияПодразделение], [СЗДД].[ID_ЗаписиЗаказаTo]                                                                   NULL     PLAN_ROW                       1        1
56033       3                            |         |         |                        |         |         |--Nested Loops(Inner Join, OUTER REFERENCES:([СДД].[ID_ДокДвижения]) WITH PREFETCH)                                                                                           26          26          24          Nested Loops                   Inner Join                     OUTER REFERENCES:([СДД].[ID_ДокДвижения]) WITH PREFETCH                                                                                                                                                                                                          NULL                                                                                                                                                                     13798,04      0             0,02883789    31          3,833307         [СДД].[ID_Получатель], [Bmk1001]                                                                                                                                                                                                                                 NULL     PLAN_ROW                       1        1
30496       3                            |         |         |                        |         |              |--Sort(ORDER BY:([СДД].[ID_ДокДвижения] ASC))                                                                                                                            26          28          26          Sort                           Sort                           ORDER BY:([СДД].[ID_ДокДвижения] ASC)                                                                                                                                                                                                                            NULL                                                                                                                                                                     1733,107      0,005630631   0,01459447    15          0,1061           [СДД].[ID_ДокДвижения], [СДД].[ID_Получатель]                                                                                                                                                                                                                    NULL     PLAN_ROW                       1        1
30496       3                            |         |         |                        |         |              |    |--Nested Loops(Inner Join, OUTER REFERENCES:([ВД].[ID_Документ]) WITH PREFETCH)                                                                                     26          29          28          Nested Loops                   Inner Join                     OUTER REFERENCES:([ВД].[ID_Документ]) WITH PREFETCH                                                                                                                                                                                                              NULL                                                                                                                                                                     1733,107      0             0,003622193   150         0,08587494       [СДД].[ID_ДокДвижения], [СДД].[ID_Получатель]                                                                                                                                                                                                                    NULL     PLAN_ROW                       1        1
60          3                            |         |         |                        |         |              |         |--Parallelism(Distribute Streams)                                                                                                                              26          31          29          Parallelism                    Distribute Streams             NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                     60            0             0,02861241    57          0,09502239       [ВД].[ID_Документ]                                                                                                                                                                                                                                               NULL     PLAN_ROW                       1        1
60          1                            |         |         |                        |         |              |         |    |--Clustered Index Scan(OBJECT:([RedOkt].[dbo].[sprВидыДокументов].[PK_sprВидыДокументов] AS [ВД]), WHERE:(Convert([ВД].[НеОборотный])=0 OR [ВД].[НеОборот 26          32          31          Clustered Index Scan           Clustered Index Scan           OBJECT:([RedOkt].[dbo].[sprВидыДокументов].[PK_sprВидыДокументов] AS [ВД]), WHERE:(Convert([ВД].[НеОборотный])=0 OR [ВД].[НеОборотный]=NULL)                                                                                                                     [ВД].[ID_Документ], [ВД].[НеОборотный]                                                                                                                                   60            0,0375785     0,0001478     57          0,0377263        [ВД].[ID_Документ], [ВД].[НеОборотный]                                                                                                                                                                                                                           NULL     PLAN_ROW                       0        1
30496       60                           |         |         |                        |         |              |         |--Clustered Index Seek(OBJECT:([RedOkt].[oz].[СклДокументыДвижения].[СклДокументыДвижения2] AS [СДД]), SEEK:([СДД].[ID_Документ]=[ВД].[ID_Документ] AND [СДД]. 26          33          29          Clustered Index Seek           Clustered Index Seek           OBJECT:([RedOkt].[oz].[СклДокументыДвижения].[СклДокументыДвижения2] AS [СДД]), SEEK:([СДД].[ID_Документ]=[ВД].[ID_Документ] AND [СДД].[ДатаДок] >= 'янв  1 2005 12:00AM' AND [СДД].[ДатаДок] <= 'янв  1 2006 12:00AM'),  WHERE:([СДД].[ТипДвиж]=0 AND [СДД].[ID [СДД].[ID_ДокДвижения], [СДД].[ID_Сдатчик], [СДД].[ТипДвиж], [СДД].[ID_Получатель]                                                                                       28,88511      0,003203401   0,0001105625  101         0,01431763       [СДД].[ID_ДокДвижения], [СДД].[ID_Сдатчик], [СДД].[ТипДвиж], [СДД].[ID_Получатель]                                                                                                                                                                               NULL     PLAN_ROW                       1        60
56033       30496                        |         |         |                        |         |              |--Index Seek(OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения].[СклЗаписиДокДвижения33] AS [СЗДД]), SEEK:([СЗДД].[ID_ДокДвижения]=[СДД].[ID_ДокДвижения]) ORDERED FORWARD)    26          34          26          Index Seek                     Index Seek                     OBJECT:([RedOkt].[oz].[СклЗаписиДокДвижения].[СклЗаписиДокДвижения33] AS [СЗДД]), SEEK:([СЗДД].[ID_ДокДвижения]=[СДД].[ID_ДокДвижения]) ORDERED FORWARD                                                                                                          [Bmk1001]                                                                                                                                                                7,961446      0,003203401   8,728148E-05  23          3,698369         [Bmk1001]                                                                                                                                                                                                                                                        NULL     PLAN_ROW                       1        1733,107
56033       56033                        |         |         |                        |         |--Index Seek(OBJECT:([RedOkt].[oz].[СклКартаСклада].[PK_СклКартаСклада] AS [СКС]), SEEK:([СКС].[ID_КартаСклада]=[СЗДД].[ID_КартаСкладаDest]) ORDERED FORWARD)                           26          35          21          Index Seek                     Index Seek                     OBJECT:([RedOkt].[oz].[СклКартаСклада].[PK_СклКартаСклада] AS [СКС]), SEEK:([СКС].[ID_КартаСклада]=[СЗДД].[ID_КартаСкладаDest]) ORDERED FORWARD                                                                                                                  [СКС].[Id_Счет]                                                                                                                                                          1             0,003203401   7,9603E-05    48          3,436974         [СКС].[Id_Счет]                                                                                                                                                                                                                                                  NULL     PLAN_ROW                       1        13798,04
63240       56033                        |         |         |                        |--Index Seek(OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса].[PK_СклРазмерностьЗапаса] AS [СРЗ]), SEEK:([СРЗ].[ID_ЗаписиДокДвижения]=[СЗДД].[ID_ЗаписиДокДвижения]) ORDERED FORWARD)                 26          36          18          Index Seek                     Index Seek                     OBJECT:([RedOkt].[oz].[СклРазмерностьЗапаса].[PK_СклРазмерностьЗапаса] AS [СРЗ]), SEEK:([СРЗ].[ID_ЗаписиДокДвижения]=[СЗДД].[ID_ЗаписиДокДвижения]) ORDERED FORWARD                                                                                              [Bmk1003]                                                                                                                                                                1,278137      0,003203401   7,990978E-05  23          6,965021         [Bmk1003]                                                                                                                                                                                                                                                        NULL     PLAN_ROW                       1        8439,83
19918       19918                        |         |         |--Index Seek(OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп].[IX_sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]), SEEK:([ТМЦЕИР].[ID_ФормаПредставления]=3 AND [ТМЦЕИР].[IDРазмМатЦенности]=[СРЗ].[IDРазмМатЦенности]) OR 26          44          11          Index Seek                     Index Seek                     OBJECT:([RedOkt].[dbo].[sprТМЦ_ЕдИзмРазмерностиМЦДоп].[IX_sprТМЦ_ЕдИзмРазмерностиМЦДоп] AS [ТМЦЕИР]), SEEK:([ТМЦЕИР].[ID_ФормаПредставления]=3 AND [ТМЦЕИР].[IDРазмМатЦенности]=[СРЗ].[IDРазмМатЦенности]) ORDERED FORWARD                                       [Bmk1007]                                                                                                                                                                1             0,003203401   7,9607E-05    30          2,767958         [Bmk1007]                                                                                                                                                                                                                                                        NULL     PLAN_ROW                       1        10787,13
19918       19918                        |         |--Index Seek(OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей].[PK_sprРазмерностьПрофиляСортамента] AS [РМЦ]), SEEK:([РМЦ].[IDРазмМатЦенности]=[ТМЦЕИР].[IDРазмМатЦенности]) ORDERED FORWARD)                                      26          45          7           Index Seek                     Index Seek                     OBJECT:([RedOkt].[dbo].[sprРазмерностиМатЦенностей].[PK_sprРазмерностьПрофиляСортамента] AS [РМЦ]), SEEK:([РМЦ].[IDРазмМатЦенности]=[ТМЦЕИР].[IDРазмМатЦенности]) ORDERED FORWARD                                                                                [Bmk1006]                                                                                                                                                                1             0,003203401   7,9603E-05    42          21,81514         [Bmk1006]                                                                                                                                                                                                                                                        NULL     PLAN_ROW                       1        10725,66
19918       19918                        |--Clustered Index Seek(OBJECT:([RedOkt].[dbo].[sprЕдИзм].[PK_ЕдИзм] AS [ЕИ2]), SEEK:([ЕИ2].[ID_ЕдИзм]=[ТМЦЕИР].[ID_ЕдИзм]) ORDERED FORWARD)                                                                                                    26          46          4           Clustered Index Seek           Clustered Index Seek           OBJECT:([RedOkt].[dbo].[sprЕдИзм].[PK_ЕдИзм] AS [ЕИ2]), SEEK:([ЕИ2].[ID_ЕдИзм]=[ТМЦЕИР].[ID_ЕдИзм]) ORDERED FORWARD                                                                                                                                              [ЕИ2].[КоэфицентПересчета], [ЕИ2].[ID_ЕдИзм]                                                                                                                             1             0,003203401   7,9603E-05    112         0,8532423        [ЕИ2].[КоэфицентПересчета], [ЕИ2].[ID_ЕдИзм]                                                                                                                                                                                                                     NULL     PLAN_ROW                       1        10677,49


вообще мне понравился подход - сначала сделать агрегирование, а потом прицепить все остальное. Возьму на вооружение...
Гавриленко Сергей Алексеевич
Дата: 15.09.2006 11:24:35
Статистику давно обновляли?
vasjok
Дата: 15.09.2006 11:51:06
да. статистика обновляется периодически (раз в 2 недели)