我有一个要优化的 SQL 查询。
SELECT *
FROM QUEUE_SMS_ALERT Q1
where ALERT_ORIGIN = "FOO"
AND RECORD_ID is null
and PHONE NOT IN (
SELECT DISTINCT PHONE
FROM QUEUE_SMS_ALERT Q2
where Q2.ALERT_ORIGIN = "BAR"
);
基本上需要获取 ALERT_ORIGIN 为“FOO”的所有行,这些行在与 ALERT_ORIGIN“BAR”的同一个表中没有对应的行。该表包含大约 17000 行,并且只有大约 1000 条带有 ALERT_ORIGIN “BAR”的记录。所以我的查询应该给我大约 16000 行。
编辑:当前查询非常慢。我目前没有任何索引。