Вы предоставили здесь важную информацию - объясните, проанализируйте. Это не показывает время выполнения 1 секунды, оно показывает 20 миллисекунд. Так что - либо это не выполняемый запрос, либо проблема в другом месте.
Единственная разница между объяснением и анализом в реальном приложении заключается в том, что результаты фактически не возвращаются. Вам понадобится много данных, чтобы замедлить процесс до 1 секунды.
Все остальные предложения не принимаются во внимание, поскольку они игнорируют тот факт, что запрос не медленный. У вас есть соответствующие индексы (обе стороны объединения используют сканирование индекса), и планировщик в первую очередь способен фильтровать таблицу категорий (в этом и заключается весь смысл иметь наполовину достойный планировщик запросов).
Итак - сначала нужно выяснить, что именно медленно ...