Как загрузить большую таблицу фактов в Azure SQL Server? - PullRequest
0 голосов
/ 13 февраля 2019

Мне нужна твоя помощь.Я работаю над проектом по созданию хранилища данных на сервере SQL Azure. Я пытаюсь загрузить около 31 миллиона строк в таблицу фактов

Все таблицы в запросах имеют индекс columnstore.Это хранимая процедура, которую я создал для этого.

            CREATE  PROCEDURE [Dwh].[AlimFctSurvey]

            AS
            BEGIN

                SET NOCOUNT ON;

            DECLARE @StartDate Date =   (SELECT  (ISNULL (MAX(LoadingDate), (   SELECT MIN (DATE) from [Dwh].[DimDate]  )) ) FROM [Dwh].[FactSurvey] ) 


            INSERT INTO [Dwh].[FactSurvey] with (TABLOCK)
            ([IdDate]
            ,[IdRespondant]
            ,[IdResponse]
             ,[IdCountry]
            , IdModule
            ,[Count]
            ,[LoadingDate]
            , LineId
            , FileId
            )


            SELECT  ISNULL (B.IdDate, -1)IdDate
            , ISNULL (C.IdRespondant, -1)IdRespondant
            , ISNULL (E.IdResponse, -1)IdResponse
            , ISNULL (D.IdCountry, -1)IdCountry
            , ISNULL (F.IdModule, -1)IdModule
            , [Count] = 1
            , Loadingdate = Getdate()
            , LineId
            , FileId

            FROM [Ods].[Sas_Output] A

            LEFT JOIN [Dwh].[DimDate] B ON B.IdDate = 100 * cast (A.Mois as int) + 1

            LEFT JOIN [Dwh].[DimRespondant] C ON A.[Respondant_FunctionnalKey]= C.Respondant_FunctionnalKey

            LEFT JOIN [Dwh].[DimCountry] D ON   A.Country_FunctionnalKey= D.Country_FunctionnalKey                    

            LEFT  JOIN Dwh.DimResponse E on E.Response_FunctionnalKey = a.Response

            LEFT  JOIN Dwh.DimModule F on F.Module_FunctionnalKey = a.Module 

            WHERE 
            1=1
            and A.LoadingDate > @StartDate 

            AND   FILETYPE = 'MAIN'
            AND isnull ([FLAG_RA1A], 0) = 0

            AND MOIS  <= '201803'


            END

Я не знаю, почему запрос выполняется часами без загрузки таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...