Bạn có một nối cột ngăn cản việc sử dụng các chỉ mục
Thử KHÔNG TỒN TẠI sẽ hỗ trợ 2 cột riêng biệt
SELECT distinct
o.casino_id, g.game_id
FROM
game g
INNER JOIN
Bet b ON g.game_id = b.game_id
INNER JOIN
CasinoUser u ON b.user_id = u.user_id
INNER JOIN
onewalletcasino o ON u.casino_id = o.casino_id
WHERE
game_start between dateadd(mi, -180, getdate())
and dateadd(mi, -5, getdate())
and
b.[status] <> 'P'
AND
NOT EXISTS (SELECT *
FROM
thirdpartysettlecalled tp
WHERE
tp.[status] = 'Y'
AND
tp.casino_id = o.casino_id AND tp.game_id = g.game_id)
ORDER BY
casino_id
Sau đó, hãy kiểm tra các chỉ mục hoặc khóa học của bạn ...
Đây là cách sử dụng tốt của NGOẠI TRỪ quá (ORDER BY ở cuối giống như UNION:cảm ơn @Damien_The_Un Believer)
SELECT distinct
o.casino_id, g.game_id
FROM
game g
INNER JOIN
Bet b ON g.game_id = b.game_id
INNER JOIN
CasinoUser u ON b.user_id = u.user_id
INNER JOIN
onewalletcasino o ON u.casino_id = o.casino_id
WHERE
game_start between dateadd(mi, -180, getdate())
and dateadd(mi, -5, getdate())
and
b.[status] <> 'P'
EXCEPT
SELECT tp.casino_id, tp.game_id
FROM thirdpartysettlecalled tp
WHERE tp.[status] = 'Y'
ORDER BY
casino_id