2012-03-28 2 views
0

Когда мы выполняем операцию соединения между двумя таблицами (скажем, t1, t2, содержащая n1 & n2 из кортежей соответственно) на общий атрибут say 'B', мы визуализируем, что каждый набор t1 сопоставляется каждому кортежу t2, а затем проверяется условие на атрибут B. Означает ли это, что при выполнении операции объединения база данных подготовит промежуточный набор данных, содержащий n1 * n2. Количество кортежей &, затем отфильтруйте результат в соответствии с Условием на B. Разве вы не считаете, что это память неэффективная? , пожалуйста, скажите мне, как фактически операция соединения выполняется db. Что делать, если t1 & t2 слишком велики, а n1 * n2 кортежей не могут быть помещены в основную память? пожалуйста, объясните кого-нибудь?NATURAL JOIN на больших таблицах в dbs

спасибо в adv.

ответ

1

В настоящее время я не думаю, что мы работаем именно так. Это упрощенный способ взглянуть на то, как работает РСУБД, но не чисто истинно. Посмотрите на этот great post на нашем собственном StackOverflow.

Смежные вопросы