Кайда бар жана кошулуу аткаруу?
Кайда бар жана кошулуу аткаруу?

Video: Кайда бар жана кошулуу аткаруу?

Video: Кайда бар жана кошулуу аткаруу?
Video: Айымдар үчүн презерватив кандай болот🤔? Видеообзор 2024, Апрель
Anonim

Көпчүлүк учурларда, БАР же КОШУЛ IN билдирүүсүнө караганда алда канча натыйжалуу (жана тезирээк) болот. Менен БАР же а КОШУЛ , маалымат базасы көрсөтүлгөн мамилени текшерип жатканда чын/жалган кайтарат. Чакан сурамдагы таблица өтө кичинекей болбосо, БАР же КОШУЛ IN караганда алда канча жакшы аткарат.

Мындан тышкары, кай жерде жана ички кошулуу көрсөткүчтөрү бар?

2 Жооптор. Жалпысынан айтканда, ИЧКИ КОШУЛУУ жана БАР ар кандай нерселер. Эгерде сиз а ички кошулуу UNIQUE тилкесинде, алар бирдей көрсөтөт аткаруу . Эгерде сиз а ички кошулуу DISTINCT колдонулган жазуулар топтомунда (дубликаттан арылуу үчүн), БАР адатта тезирээк.

Экинчиден, LEFT JOIN кошулууга караганда тезирээк? А СОЛ КОШУЛУУ таптакыр жок караганда тезирээк ички КОШУЛ . Чынында, ал жайыраак; аныктамасы боюнча, сырткы кошулуу ( СОЛ КОШУЛУУ же ТУУРА КОШУЛ ) ИЧКИнин бардык иштерин аткарууга туура келет КОШУЛ плюс натыйжаларды нөл-узартуу боюнча кошумча иш.

Ушундай жол менен кайсынысы тезирээк бар же ичиндеби?

The БАР пункт көп тезирээк ички суроонун натыйжалары абдан чоң болгондо IN караганда. Тескерисинче, IN пункту болуп саналат тезирээк караганда БАР подсуроонун натыйжалары өтө аз болгондо. Ошондой эле, IN пункту NULL маанилери менен эч нерсени салыштыра албайт, бирок БАР пункт баарын NULL менен салыштыра алат.

Кайсы SQL JOIN ылдамыраак?

Ооба, жалпысынан ИЧКИ КОШУЛУУ болот тезирээк анткени ал кошулган мамычанын негизинде бардык кошулган таблицаларда дал келген саптарды гана кайтарат. Бирок СОЛ КОШУЛ LEFT көрсөтүлгөн таблицадан бардык саптарды жана RIGHT көрсөтүлгөн таблицадан бардык дал келген саптарды кайтарат.

Сунушталууда: