Во-первых, у вас есть индекс для столбца PID? Это должен быть первичный ключ в tblParent и неуникальный индекс в tblChild. Установка отношения внешнего ключа создала бы эти индексы для вас (я полагаю).
Вы можете уменьшить количество записей, с которыми вам нужно соответствовать. Если вы должны запустить этот SQL:
SELECT DISTINCT PID
FROM tblChild
WHERE PID IN (
SELECT PID
FROM tblParent
)
Вы получите только родительские PID, которые должны быть в таблице tblParent. Тогда объединяя это как
SELECT PID
FROM tblParent
WHERE PID NOT IN
(
SELECT DISTINCT PID
FROM tblChild
WHERE PID IN (
SELECT PID
FROM tblParent
)
)
Должно помочь ускорить запрос, чтобы найти всех родителей без детей.
Чтобы найти дополнительные записи детей, вы можете сделать
SELECT DISTINCT PID
FROM tblChild
WHERE PID NOT IN (
SELECT PID
FROM tblParent
)
К сожалению, у меня нет доступа, чтобы проверить это. Надеюсь, это поможет