Продолжая разговор, об упрощении дерева запроса, начатый в предыдущем посте, рассмотрим еще один интересный случай упрощения.
Комментарии к записи Забавный случай упрощения соединений 2 отключены
Забавный случай упрощения соединений
Недавно, просматривая план запроса, я обратил внимание, что в одной ветке плана таблицы соединяются при помощи Nested Loops Join (NL), хотя логичнее было бы видеть там Merge Join (SM). Я решил разобраться, почему так происходит и наткнулся на интересную особенность оптимизатора.
Комментарии к записи Забавный случай упрощения соединений отключены
Оптимизатор (ч.1): Введение, Optimization: Simplification
Введение В этом разделе: — обзор; — упрощение, исключение противоречий и лишних соединений; — просмотр дерева логических операций; В данной заметке рассматриваются некоторые механизмы работы оптимизатора. Она будет интересна тем, кто хочет больше узнать о процессе преобразования запроса в план запроса, который и будет передан серверу на выполнение. Многие средства, используемые в заметке — недокументированны,