Което е по-бързо от LEFT JOIN или подзаявка в SELECT, Алексей Скахин
Личен блог. Бележки за програмиране и др
Което е по-бързо от LEFT JOIN или подзаявка в SELECT
Често се изисква да се избират допълнителни параметри като плюс към основната извадка.
Това може да стане по два начина:
- НАЛЯВО ПРИСЪЕДИНЯВАНЕ към основната заявка
- Подзаявка в секция SELECT
Подзаявка в секция SELECT:Опция с ЛЯВО ПРИСЪЕДИНЯВАНЕ:След анализиране на плана за изпълнение на заявката в MS SQL Server беше разкрито:
- При извличане в раздела SELECT е необходимо допълнително време за обединяване на основната селекция и подзаявката. Излезе 1% от общото време. (+ НАЛЯВО ПРИСЪЕДИНЯВАНЕ/- ИЗБЕРЕТЕ)
- Оказа се, че всяко ЛЯВО ПРИСЪЕДИНЯВАНЕ се изпълнява от отделна нишка! Докато подзаявките се изпълняват последователно след основното извличане. (+ НАЛЯВО ПРИСЪЕДИНЯВАНЕ/- ИЗБЕРЕТЕ)
- Всяко ЛЯВО ПРИСЪЕДИНЯВАНЕ се комбинира в набор от резултати, което изисква допълнителна памет. Докато подзаявката ще ни върне по една стойност на ред, т.е. имаме нужда от по-малко памет, за да получим резултата. (- НАЛЯВО ПРИСЪЕДИНЯВАНЕ/+ ИЗБЕРЕТЕ)