Is there any build-in functionality in MySQL to do the above without scanning the entire table?
Only solution I found is to store a mirrored version of the column I
MySQL won't use an index when your value starts with a wildcard character.
Storing a second column in reverse order is a defensible approach. It will fail on a suffix, though.
If you know the compounded words, you can pre-compute "valuable to know" matches and store them in another table. I think that's unlikely to work well for a German dictionary, but you might know something I don't.