АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

HumanResources.EmployeeDepartmentHistory As h

Читайте также:

    WHERE d.DepartmentID = h.DepartmentID

    AND h.EmployeeID = e.EmployeeID

    AND h.EndDate IS NOT NULL

    При использовании этой подсказки соединения OPTION(FORCE ORDER), оптимизатор выполняет операцию соединения в том порядке, в котором таблицы появляются в запросе.

    USE AdventureWorks;

    SELECT e.EmployeeID, e.LoginID, d.DepartmentID

    FROM HumanResources.Employee As e, HumanResources.Department As d,

    HumanResources.EmployeeDepartmentHistory As h

    WHERE d.DepartmentID = h.DepartmentID

    AND h.EmployeeID = e.EmployeeID

    AND h.EndDate IS NOT NULL

    OPTION(FORCE ORDER);

     

    Подсказки запроса loop, hash и merge заставляют оптимизатор использовать метод циклического соединения (вложенный цикл), технику хеширования соединений и технику слияния соединений соответственно. Эти три подсказки соединения могут применяться только в том случае, когда операция соединения соответствует стандарту SQL, т. е. когда соединение явно указано при помощи ключевого слова join в предложении from оператора select.

     

    Пример:

    USE AdventureWorks;

    SELECT * FROM Person.Address a JOIN Person.StateProvince s

    ON a.StateProvinceID = s.StateProvinceID

     

    План выполнения запроса: используется техника хеширования соединений (Hash Match)

    Пример: используется подсказка OPTION (MERGE JOIN) использовать технику слияния соединений

    USE AdventureWorks;

    SELECT * FROM Person.Address a JOIN Person.StateProvince s

    ON a.StateProvinceID = s.StateProvinceID

    OPTION (MERGE JOIN);

     

    План выполнения запроса: показывает использование подсказки - метод слияния соединений (MERGE JOIN).

    Выбранная подсказка соединения может быть записана в предложении FROMзапроса или при использовании предложения option в конце этого запроса. Если нужно применять несколько различныхподсказок вместе, то рекомендуется предложение option.

    Пример: идентичен предыдущему, но в нем подсказка соединения указана в предложении from запроса.

    USE AdventureWorks;

    SELECT * FROM Person.Address a INNER MERGE JOIN

    Person.StateProvince s
    ON a.StateProvinceID = s.StateProvinceID;


    1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

    Поиск по сайту:



    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)