powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Podzapros v SELECT
6 сообщений из 6, страница 1 из 1
Podzapros v SELECT
    #32053941
Privet!
Kakova raznica mezdu 2 sledujushimi zaprosami (odinakovymi logicheski) s tochki zrenija proizvoditel'nosti?

Zapros 1:
SELECT emp.fname,
emp.lname,
city.name city_name
FROM emp, city
WHERE emp.city_id = city.city_id;

Zapros 2:
SELECT fname,
lname,
(SELECT name
FROM city
WHERE city.city_id = emp.city_id) city_name
FROM emp;

Spasibo zaranee!
...
Рейтинг: 0 / 0
Podzapros v SELECT
    #32053956
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри план и увидишь.
А с практической точки зрения, второй вариант не очень красивый по структуре.
...
Рейтинг: 0 / 0
Podzapros v SELECT
    #32053959
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Посмотри план и увидишь.

Ну да, в том то и дело, что плана подзапроса просто не увидишь :-)
...
Рейтинг: 0 / 0
Podzapros v SELECT
    #32053962
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя...

В первом случае, у Оракула будет выбор, как соединять таблицы.
А во втором, по логике, будет форсирован аналог "nested loops". Причём подзапрос отработает столько раз, сколько строк в выборке. А в первом случае, скорее, всего, число чтений из city будет гораздо меньше.
...
Рейтинг: 0 / 0
Podzapros v SELECT
    #32053963
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А во втором, по логике, будет форсирован аналог "nested
>loops". Причём подзапрос отработает столько раз,
>сколько строк в выборке. А в первом случае, скорее,
>всего, число чтений из city будет гораздо меньше

А как ты это узнал не видя плана выполнения?
...
Рейтинг: 0 / 0
Podzapros v SELECT
    #32055302
lvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lvv
Гость
А это в какой версии Оракла так писать можно?
Код: plaintext
1.
2.
3.
4.
5.
SELECT fname, 
lname, 
(SELECT name 
FROM city 
WHERE city.city_id = emp.city_id) city_name 
FROM emp
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Podzapros v SELECT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]