SQL-запрос занимает больше времени, чем обычно - PullRequest
0 голосов
/ 10 октября 2019

Мой запрос занимает 2 часа, чтобы получить 2,5 миллиона строк из базы данных. Я также проверил план выполнения. Индексирование тоже работает нормально.

Это запрос:

SELECT 
    GeneralJournalAccountEntry.RecId as [Transaction #],
    GENERALJOURNALACCOUNTENTRY.LEDGERACCOUNT AS [LEDGER WITH DIMENSIONS],
    DIMENSIONATTRIBUTE.NAME AS [DIMENSION TYPE],
    DIMENSIONATTRIBUTELEVELVALUE.DISPLAYVALUE as [DIMENSION VALUE]
FROM 
    DIMENSIONATTRIBUTE
INNER JOIN 
    DIMENSIONATTRIBUTEVALUE ON DIMENSIONATTRIBUTE.RECID = DIMENSIONATTRIBUTEVALUE.DIMENSIONATTRIBUTE
INNER JOIN 
    DIMENSIONATTRIBUTELEVELVALUE ON DIMENSIONATTRIBUTEVALUE.RECID = DIMENSIONATTRIBUTELEVELVALUE.DIMENSIONATTRIBUTEVALUE
INNER JOIN 
    DIMENSIONATTRIBUTEVALUEGROUPCOMBINATION ON DIMENSIONATTRIBUTELEVELVALUE.DIMENSIONATTRIBUTEVALUEGROUP = DIMENSIONATTRIBUTEVALUEGROUPCOMBINATION.DIMENSIONATTRIBUTEVALUEGROUP
INNER JOIN 
    GENERALJOURNALACCOUNTENTRY ON DIMENSIONATTRIBUTEVALUEGROUPCOMBINATION.DIMENSIONATTRIBUTEVALUECOMBINATION = GENERALJOURNALACCOUNTENTRY.LEDGERDIMENSION
INNER JOIN 
    GENERALJOURNALENTRY ON GENERALJOURNALENTRY.PARTITION = GENERALJOURNALACCOUNTENTRY.PARTITION AND GENERALJOURNALENTRY.RECID = GENERALJOURNALACCOUNTENTRY.GENERALJOURNALENTRY
WHERE
    DIMENSIONATTRIBUTE.NAME <> 'MainAccount'

1 Ответ

0 голосов
/ 10 октября 2019

Попробуйте это может помочь вам

Если запрос не завершится, вы должны получить приблизительный план выполнения, а не фактический. Поскольку он имеет одну строку, у вас может быть самый медленный компьютер:

Использовать WITH (NOLOCK)

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