Я создал таблицу календаря (с индексами), в которой есть даты, день недели, финансовый год, название дня и т. Д. Диапазон в моей таблице календаря находится между 2005 и 2071 годами. Я запрашиваю таблицу календаря.
Я хочу использовать столбец даты в таблице календаря для фильтрации 2 разных столбцов даты в 2 разных таблицах.
Проблема, с которой я сталкиваюсь, заключается в том, что при поиске большого диапазона дат с использованием столбца даты в календарной таблице (т. Е. 2010–2019) требуется ОЧЕНЬ много времени для возврата результатов. Принимая во внимание, что если я запрашиваю один и тот же диапазон дат для каждой таблицы, результаты возвращаются в секундах. Вот запрос, с которым я работаю:
Select
a.Col1,
a.Col2,
a.Col3,
a.Date1,
b.Date1
From
TableA as A
FULL JOIN TableB as B
on A.Col1 = B.Col1
INNER JOIN TableCal as C
on A.Date1 = C.Date1
or B.Date1 = C.Date1
WHERE
C.date1 between '2010' and '2019'
Если есть лучший способ написать это или я поступаю неправильно, я открыт для любых советов / предложений! Спасибо!