Wenn die Anzahl von idKeyword variable ist, kannst du auch eine SP mit einem TABLE-VALUE-Parameter verwenden. Hier kann dann eine variable Anzahl von idKeywords übergeben werden. In der WHERE-Klausel der SP könnte dann stehen
...WHERE (m.IdKeywort IN (SELECT idkey FROM @DeinTableValueParameter))
Und wenn du die Key-Value-Tabelle auch auf dem
SQL-Server hast, könnte die SP statt der IDs auch die "echten" Keywords annehmen und die IDs für die WHERE-Klausel aus der Key-Value-Tabelle ermitteln.
Letztendlich wird der optimale Einsatz der Indizes über die Performance entscheiden.