Левые присоединяются - PullRequest
       1

Левые присоединяются

0 голосов
/ 23 сентября 2011

Я пытаюсь выяснить, что может вызывать зависание левого соединения.Я сузил проблему до определенного стола, но я не могу понять, что может происходить.По сути, у меня есть две таблицы, давайте назовем их таблицей A и таблицей B. Когда я оставляю соединение таблицы A с таблицей B (ее отношение 1 к 1 с таблицей B, не всегда имеющей связанную запись с таблицей A), запрос зависает.Когда я соединяю таблицу A с таблицей B, она выполняется примерно за полсекунды и возвращает около 27 000 записей.Почему когда я запускаю левое соединение, которое должно занять немного больше времени, но не намного, оно зависает?Могу ли я иметь неверные данные в таблице B?Поля, к которым я присоединяюсь, принадлежат Bigint.Я поставлен в тупик на этом.Любая помощь будет принята с благодарностью.

Вот мой sql:

select
RegMemberTrip.idmember,
RegParent1.idMember_Parent1,
regparent1.idParent1
from
regmembertrip
left join
regparent1 on RegMemberTrip.idmember = regparent1.idMember_Parent1
where
regmembertrip.IDRound = 25
  • RegParent1 - это представление
  • Если я изменю критерии where на '= 24«Это работает отлично.IDRound = 25 - это довольно новые данные.И, как я уже сказал, если я буду продолжать в том же духе (idround = 25) с внутренним соединением, все будет работать нормально.

Спасибо,

Бен

1 Ответ

2 голосов
/ 23 сентября 2011

Вы пробовали инструмент пути выполнения в Консоли управления?Вы уверены, что ваше левое соединение на самом деле не делает гигантский декартовой продукт через А и В?

...