Если ваша плотность тегов на страницах превышает 2: 1 или около того, использование NOT EXISTS будет быстрее, чем использование LEFT JOIN + IS NULL
SELECT *
FROM root_pages
WHERE NOT EXISTS (
SELECT *
FROM root_tagged
WHERE root_tagged.pg_id = root_pages.pg_id )
Это альтернатива, которая более четко заявляет, что вы ищете, небытие.
Для зачеркнутого текста выше:
Вопрос специфичен для MySQL, и, предполагая, что root_tagged.pg_id не имеет значения nullable, LEFT JOIN + IS NULL реализован с использованием ANTI-JOIN, которая является той же стратегией, что и NOT EXISTS, за исключением того, что кажется, что некоторые издержки добавлены NOT EXISTS, поэтому LEFT JOIN должен работать быстрее.