У меня есть внутреннее соединение, как так:INNER JOIN замедляя запрос
INNER JOIN Area AS area ON (Area.Id = psaLocalityOrCity.AreaId OR Area.Id = psaDbl.AreaId)
psaLocalityOrCity являются места, которые мне нужны области для, однако есть некоторые записи, которые продублированы в psaLocalityOrCity. Эти и только эти, были извлечены в psaDbl как отдельные записи. INNER JOIN выше, предположим, чтобы найти все области для всех местностей в обеих группах, но этот оператор OR заставляет его работать веками. Для чего это было бы причиной? Есть ли какое-либо исправление, которое оптимизировало бы запрос на запуск за 6 секунд вместо 3мин?
INNER JOIN с 'OR' не удивительно, что это медленно, См план выполнения и проверки использует индексы или выполнить полное сканирование таблицы – lad2025
Показать все запросы, попробуйте 'WITH cte AS (SELECT * FROM psaLocalityOrCity UNION ALL SELECT * FROM psaDbl) SELECT * FROM tab JOIN cte', replace * с именами столбцов курса – lad2025
проверьте, одинаковы ли типы этих идентификаторов. неявное литье является причиной 1-й медлительности в этих случаях. Причина № 2 - плохой или отсутствие индексов – jean