Re[4]: Помогите оптимализировать процедуру
От: Malchik  
Дата: 22.03.07 14:28
Оценка:
SET SHOWPLAN_TEXT ON
на обьединенный шаг 6 и 7 дает такой результат(не знаю почему QA обрезает строки справа):

|--Table Update(OBJECT:([tempdb].[dbo].[#tmp_data___________________________________________________________________________________________________________00000000005C]), SET:([#tmp_data].[RELEASE]=RaiseIfNull([Expr1021]), [#tmp_data].[FREE_CAPACITY_ROOM
       |--Top(ROWCOUNT est 0)
            |--Compute Scalar(DEFINE:([Expr1020]=isnull([Expr1016], 0), [Expr1021]=isnull([Expr1017], 0)))
                 |--Hash Match(Inner Join, HASH:([#tmp_data].[tmp_tour_id])=([#tmp_data].[tmp_tour_id]))
                      |--Stream Aggregate(GROUP BY:([#tmp_data].[tmp_tour_id]) DEFINE:([Expr1016]=MIN([ALLOTMENT_DAYS].[FREEUNITS]), [Expr1017]=MAX(Convert([ALLOTMENT_DAYS].[RELEASE]))))
                      |    |--Nested Loops(Inner Join, OUTER REFERENCES:([SERVICE_TYPES].[ALLOTMENT_ID]) WITH PREFETCH)
                      |         |--Filter(WHERE:([SERVICES].[ORIG_ID]=[PACKAGE_SERVICES].[SERVICE_ID]))
                      |         |    |--Bookmark Lookup(BOOKMARK:([Bmk1010]), OBJECT:([DAVINCI_WWW].[dbo].[PACKAGE_SERVICES]))
                      |         |         |--Nested Loops(Inner Join, OUTER REFERENCES:([PACKAGES].[ORIG_ID]) WITH PREFETCH)
                      |         |              |--Sort(ORDER BY:([#tmp_data].[tmp_tour_id] ASC))
                      |         |              |    |--Filter(WHERE:([PACKAGES].[KATALOG_CODE]=[#tmp_data].[KATALOG_CODE]))
                      |         |              |         |--Bookmark Lookup(BOOKMARK:([Bmk1012]), OBJECT:([DAVINCI_WWW].[dbo].[PACKAGES]))
                      |         |              |              |--Nested Loops(Inner Join, OUTER REFERENCES:([#tmp_data].[BOOKINGCODE]) WITH PREFETCH)
                      |         |              |                   |--Bookmark Lookup(BOOKMARK:([Bmk1014]), OBJECT:([tempdb].[dbo].[#tmp_data___________________________________________________________________________________________________________00000000
                      |         |              |                   |    |--Nested Loops(Inner Join, OUTER REFERENCES:([ALLOTMENT_DAYS].[DATUM], [SERVICE_TYPES].[CODE_STRING]))
                      |         |              |                   |         |--Nested Loops(Inner Join, OUTER REFERENCES:([ALLOTMENT_PRIMARY_HEADERS].[ORIG_ID]))
                      |         |              |                   |         |    |--Hash Match(Inner Join, HASH:([ALLOTMENT_PRIMARY_HEADERS].[ALLOTMENTS_ID])=([SERVICE_TYPES].[ALLOTMENT_ID]), RESIDUAL:([ALLOTMENT_PRIMARY_HEADERS].[ALLOTMENTS_ID]=[SERVICE_
                      |         |              |                   |         |    |    |--Index Scan(OBJECT:([DAVINCI_WWW].[dbo].[ALLOTMENT_PRIMARY_HEADERS].[idx_ALLOTMENT_PRIMARY_HEADERS_s1]),  WHERE:([ALLOTMENT_PRIMARY_HEADERS].[VERSION_NR]=[@versionNR])
                      |         |              |                   |         |    |    |--Hash Match(Inner Join, HASH:([SERVICES].[ORIG_ID])=([SERVICE_TYPES].[PACKAGE_ID]), RESIDUAL:([SERVICE_TYPES].[PACKAGE_ID]=[SERVICES].[ORIG_ID]))
                      |         |              |                   |         |    |         |--Clustered Index Scan(OBJECT:([DAVINCI_WWW].[dbo].[SERVICES].[PK__SERVICES__2DB1C7EE]), WHERE:([SERVICES].[VERSION_NR]=[@versionNR] AND [SERVICES].[TYPE]='H'))
                      |         |              |                   |         |    |         |--Clustered Index Scan(OBJECT:([DAVINCI_WWW].[dbo].[SERVICE_TYPES].[PK__SERVICE_TYPES__16CE6296]), WHERE:([SERVICE_TYPES].[VERSION_NR]=[@versionNR]))
                      |         |              |                   |         |    |--Clustered Index Seek(OBJECT:([DAVINCI_WWW].[dbo].[ALLOTMENT_DAYS].[PK__ALLOTMENT_DAYS__1C873BEC]), SEEK:([ALLOTMENT_DAYS].[ORIG_HEADER_ID]=[ALLOTMENT_PRIMARY_HEADERS].[ORI
                      |         |              |                   |         |--Index Seek(OBJECT:([tempdb].[dbo].[#tmp_data___________________________________________________________________________________________________________00000000005C].[idx_tmp_da
                      |         |              |                   |--Index Seek(OBJECT:([DAVINCI_WWW].[dbo].[PACKAGES].[idx_PACKAGES_s0]), SEEK:([PACKAGES].[BOOKINGCODE]=[#tmp_data].[BOOKINGCODE] AND [PACKAGES].[VERSION_NR]=[@versionNR]) ORDERED FORWARD)
                      |         |              |--Index Seek(OBJECT:([DAVINCI_WWW].[dbo].[PACKAGE_SERVICES].[idx_PACKAGE_SERVICES_s1]), SEEK:([PACKAGE_SERVICES].[PACKAGE_ID]=[PACKAGES].[ORIG_ID] AND [PACKAGE_SERVICES].[VERSION_NR]=[@versionNR]) ORDERED FOR
                      |         |--Index Seek(OBJECT:([DAVINCI_WWW].[dbo].[ALLOTMENTS].[idx_ALLOTMENTS_s0]), SEEK:([ALLOTMENTS].[ORIG_ID]=[SERVICE_TYPES].[ALLOTMENT_ID] AND [ALLOTMENTS].[VERSION_NR]=[@versionNR]) ORDERED FORWARD)
                      |--Table Scan(OBJECT:([tempdb].[dbo].[#tmp_data___________________________________________________________________________________________________________00000000005C]))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.