Is it OK to duplicate parent field in child table for performance?
What you are doing is called denormalization.

The rule of thumb is "normalize till it hurts, denormalize till it works."  Denormalization should follow the access pattern of your queries.  If you have a common query that goes from joining on 10 tables to just a few with just a small bit of duplication, go for it!