|
В чём разница между ПО и ГДЕ в запросе | ☑ | ||
---|---|---|---|---|
0
repin_mike
10.03.23
✎
09:01
|
В чём разница между конструкциями
ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ГДЕ УСЛОВИЕ ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ПО УСЛОВИЕ По идее второе работает быстрее, но это не точно |
|||
1
Asmody
10.03.23
✎
09:02
|
У вас точно 8 лет стажа на форуме?
|
|||
2
Mort
10.03.23
✎
09:05
|
Если бы внутреннее соединение было, тогда можно было бы поразмышлять о переносе условий из ГДЕ в ПО для оптимизации, а так тупо разные результаты будут.
|
|||
3
butterbean
10.03.23
✎
09:39
|
что-то я видимо подзабыл синтаксис, но разве возможно СОЕДИНЕНИЕ без ПО?
|
|||
4
Fedor-1971
10.03.23
✎
09:41
|
(0) так то нет
ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ГДЕ УСЛОВИЕ = ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б по истина ГДЕ УСЛОВИЕ - т.е. к каждой записи таблицы А приклеивается вся таблица Б ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ПО УСЛОВИЕ - к записи таблицы А соответствующей Условие приклеиваются записи из таблицы Б соответствующие тому же Условие (в результате прилепляем 0 или больше записей) ВЫБРАТЬ * ИЗ А внутреннее СОЕДИНЕНИЕ Б ПО УСЛОВИЕ - вот это имеет смысл сравнивать по быстродействию с условием заданным в ГДЕ. Быстродействие будет очень зависеть от объёма данных в выборках А и Б до определённого объёма может быстрее работать ВНУТРЕННЕЕ СОЕДИНЕНИЕ чем ГДЕ, а возможен и обратный результат |
|||
5
Fedor-1971
10.03.23
✎
09:42
|
4+ только замер покажет что быстрее на твоих данных
|
|||
6
Asmody
10.03.23
✎
09:59
|
(3) полное соединение получится.
|
|||
7
exwill
10.03.23
✎
10:07
|
(6) Получится произведение таблиц, а не полное соединение. Это разные вещи. При полном соединении NULL может появиться и "справа" и "слева". При левом только "слева". При внутреннем, а также при произведении NULL нигде не появляется
|
|||
8
mikecool
10.03.23
✎
10:14
|
(1) лучше поздо, чем никогда
|
|||
9
АгентБезопасной Нацио
10.03.23
✎
10:42
|
(0) Это не предел
(8) иногда лучше никогда. |
|||
10
PR
10.03.23
✎
10:54
|
(0) В чём разница между конструкциями
Мне привезли будку для собаки, которую зовут Шарик Я пошел погулять с собакой, которую зовут Шарик По идее второе работает быстрее, но это не точно |
|||
11
exwill
10.03.23
✎
11:01
|
(0)
Первая конструкция - это внутреннее соединение по заданному условию. NULL тут появиться не может. Вторая - это левое соединение по заданному условию. Тут может быть NULL "справа". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |