Get multiple posts with some custom fields efficient

Meta fields are heavily cached. Depending on your configuration and specific query, it is likely that WP_Query calls update_post_caches() which trickles down to update_meta_cache() for queried posts.

Most of the time you don’t need to worry about this, until you determine that it is real bottleneck in some way (like profiling code).