Этот запрос занимает 16 секунд для выполнения
SELECT
WO.orderid
FROM
WebOrder as WO
INNER JOIN Addresses AS A ON WO.AddressID = A.AddressID
LEFT JOIN SalesOrders as SO on SO.SO_Number = WO.SalesOrderID
Если я закомментирую любое из объединений, он выполняется за небольшую долю секунды.Пример:
SELECT
WO.orderid
FROM
WebOrder as WO
INNER JOIN Addresses AS A ON WO.AddressID = A.AddressID
-- LEFT JOIN SalesOrders as SO on SO.SO_Number = WO.SalesOrderID
или
SELECT
WO.orderid
FROM
WebOrder as WO
-- INNER JOIN Addresses AS A ON WO.AddressID = A.AddressID
LEFT JOIN SalesOrders as SO on SO.SO_Number = WO.SalesOrderID
Примечания
- В таблицах SalesOrders и около 40 000 записей каждаяAdddresses.
- У меня есть индексы или PKeys для всех полей, используемых в предложениях ON.
План выполнения для медленной версии (SalesOrders Join закомментирован)
План выполнения для быстрой версии
Почему этиСоединения при использовании в сочетании друг с другом приводят к тому, что значение увеличивается с ~ 0,01 до 16 секунд?