Я пытаюсь получить список всех номеров клиентов из одной из наших баз данных. Мне нужны только клиенты, у которых нет пациентов и нет истории счетов.
Мой запрос работает (возвращает правильные результаты) ... но для его выполнения требуется ~ 16 часов. Я подозреваю, что это можно сделать гораздо эффективнее, но мне нужны некоторые указатели, чтобы начать в правильном направлении.
SELECT A.account_number FROM ClientTable A
WHERE A.account_number NOT IN (SELECT B.account_number FROM PatientTable B) AND
A.account_number NOT IN (SELECT C.account_number FROM BillingTable C);
ClientTable имеет ~ 10 миллионов строк
Таблица пациента имеет ~ 12 миллионов строк
BillingTable имеет ~ 25 миллионов строк
Есть ли лучший способ сделать это?