TGViewer
Data Science. SQL hub Data Science. SQL hub @sqlhub · 36K subscribers
Post #90 3.69K
Производительность запросов в SQL

Использование OR внутри оператора JOIN или WHERE для нескольких столбцов.

SQL Server может эффективно обрабатывать набор данных, если используется оператор WHERE или любая комбинация фильтров, разделенных AND. Будучи исключающими, эти операторы берут данные и нарезают их на все более мелкие части, пока не останется нужный набор данных.

Оператор OR – совсем другая история. SQL Server не может обработать его за одну операцию. Вместо этого каждый компонент OR рассмотривается отдельно. Когда каждая такая затратная операция завершена, результаты объединяются.

Сценарий, в котором OR работает хуже всего, – это когда задействовано несколько столбцов или таблиц. Даже если используется всего несколько таблиц или столбцов, производительность может стать крайне низкой.

Давайте рассмотрим простой пример использования OR, который приводит к плохой производительности:

SELECT DISTINCT
PRODUCT.ProductID,
PRODUCT.Name
FROM Production.Product PRODUCT
INNER JOIN Sales.SalesOrderDetail DETAIL
ON PRODUCT.ProductID = DETAIL.ProductID
OR PRODUCT.rowguid = DETAIL.rowguid;



Читать дальше

@sqlhub
  • 👍 10
More from @sqlhub
  1. Oct 10, 2026🔍 Microsoft выпустила модель, которая только принимает решения. В 35 раз быстрее GPT-6 So…
  2. Oct 9, 2026Как мы перешли от CatBoost к нейросетям в рекомендациях Авито Рекомендации на главной дают…
  3. Oct 8, 2026🧮 Математика для ИИ на русском: от школьной базы до трансформеров и диффузии Бесплатный к…
  4. Oct 8, 2026🧩 SQL-задача: почему `LAG()` здесь подведёт? Есть интервалы работы сервера. Время указано…
  5. Oct 8, 2026ИИ-агент отвечает настолько точно, насколько готовы ваши данные. Как понять, что они готов…
  6. Oct 7, 2026🌍 SQL-задача: ближайшие точки на замкнутой карте Карта 100 × 100: противоположные края со…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →