Inner присоединяйтесь в Oracle с Where Clause
]]]в базе данных Oracle разница между присоединением к двум таблицам с использованием в сети (внутреннее соединение) и пунктом, где является общей проблемой. Хотя могут быть небольшие различия между ними в определенных ситуациях, общие различия в производительности часто незначительны.
]Следующий пример:
Select * from Table1 T1
Inner Join Table2 T2 On T1.ID = T2.ID
]
а также
Select * from Table1 T1, Table2 T2
Where T1.ID = T2.ID
]
оба запроса выполняют одну и ту же операцию: incatenate строк в таблице 1 с рядами в таблице 2 на основе равенства столбца ID. Чтобы лучше понять это, давайте создадим две примеры таблицы:
]CREATE TABLE table1 (
id INT,
name VARCHAR(20)
);
CREATE TABLE table2 (
id INT,
name VARCHAR(20)
);
запустить план выполнения для запроса с использованием соединений:
]-- 使用内连接
EXPLAIN PLAN FOR
SELECT * FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.id;
SELECT *
FROM TABLE (DBMS_XPLAN.DISPLAY);
]
... Получить следующий выход:
]-- 0 select statement
-- 1 hash join (access("T1"."ID"="T2"."ID"))
-- 2 table access full table1
-- 3 table access full table2
]
Аналогично, план выполнения запроса с использованием пункта WHERE:
]-- 使用 WHERE 子句
EXPLAIN PLAN FOR
SELECT * FROM table1 t1, table2 t2
WHERE t1.id = t2.id;
SELECT *
FROM TABLE (DBMS_XPLAN.DISPLAY);
]
... возвращает следующий вывод:
]-- 0 select statement
-- 1 hash join (access("T1"."ID"="T2"."ID"))
-- 2 table access full table1
-- 3 table access full table2
]
вы можете видеть, что оба запроса используют хеш -соединения для выполнения операций подключения, и нет существенной разницы в плане выполнения.
], следовательно, выбор использования внутриоборудования или в том, где пункт в Oracle зависит главным образом от личных предпочтений или конкретных потребностей схемы базы данных или используемого запроса.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3