Is joining on an fkey any more performant than without it assuming the same indexing is applied?
When you say difficult do you mean from a developer ergonomics standpoint (knowing there's data integrity), or from a database optimizability standpoint?