У меня есть 2 представления, которые выбирают большие наборы данных из внешнего источника. Они не делают каких-либо вычислений или агрегаций, а только длинного оператора select.
Я использую
INNER JOIN
, чтобы связать два представления на основе GUID.
Отдельные варианты выбора для каждого вида:
view1, 3:08 Время выполнения, 174 842 извлеченные записи
view2, 0:02 Время выполнения, 93 493 извлеченные записи
Когда я присоединяюсь к ним, я получаю следующее
Присоединение, 14:32 Время выполнения, 177 753 найденных записи
Пока что я пробовал
LEFT JOIN
RIGHT JOIN
INNER JOIN
JOIN
IЯ пытался соединить view1 с view2 против присоединения view2 к view1. Я попытался вызвать одно представление, а затем выбрать его во время соединения с другим представлением.
Кажется, ничто не влияет на него.
SQL ниже для справки
SELECT
v1.guid,
CONVERT(DATE, v1.CreatedOn) AS CreatedOn,
field1,
field2,
field3,
field4,
field5
FROM
View1 v1
INNER JOIN View2 V2 ON v1.guid = v2.guid
WHERE
field6 = 'value'
(Обязательно, это не настоящие имена полей)
Я получаю ожидаемый результат, он просто слишком длинен для своей цели.
Любая помощь по оптимизации приветствуется