Balance between complexity of feature set and real time preduction

The feature engineering section in the design of an ML recommender system suggests a lot of features. Some could be very tricky and cost a lot - it would be ok for the training path since you have time to assemble your training set offline, but it would be a problem to create them real time for the inference (for instance some would require a complex query into databases and some post-processing to construct). Thoughts on how to balance this?