Я ожидаю, что оба запроса будут иметь одинаковые характеристики производительности. При сравнении производительности вы должны быть уверены, что делаете их правильно. Например, выполнение двух запросов подряд не является хорошим сравнением, поскольку данные таблицы были загружены в память.
Чтобы реально сравнивать запросы, вам нужен спокойный сервер и холодные кэши. Тем не менее, план выполнения может быть большой помощью в понимании того, что происходит.
Я ожидаю, что коррелированный подзапрос будет иметь хорошую производительность с правильными индексами. Для вашего примера вы хотите индекс на Table2(Id2)
.
Какая производительность в целом выше? Что ж, просто разработать сценарии, в которых коррелированный подзапрос лучше. Например, если TPO_User
имеет 1 строку, а Table2
- 1 000 000 строк, то коррелированный подзапрос будет лучше практически при любых обстоятельствах.