If you make a View that contains Field.module fields (for display, not for Sort or Filter criteria), the views_handler_field_field class loads every entity within the view and then just pulls out the needed values for display.
As far as I know, this architectural decision was made to avoid the MySQL JOIN limit on tables (61). However, most views won't get near to that many JOINs. We may be able to get a major efficiency improvement on field listings if we intelligently determined how many JOINs were going to be used, and only resort to loading all entities if nearing the limit.
There may be other problems with some fields that assume that they get the entire node, which may need to be adjusted. Let's do some research on if this is possible and/or worth it from a performance perspective.
Recent comments
For the dev meeting: Progress all over the place. Nine pull requests are currently marked RTBC - time to consider merging? Bug fixes mostly, and not too complex. Issue #6987: There's...
December 18th, 2025 - Weekly Meetings
In a blog post titled "Github Tips and Tricks for Contrib Maintainers", I'd like to see some of the following topics: When is the README sufficient for documentation? When should...
Github Tips and Tricks for Contrib Maintainers
Thanks Alejandro. That was the clues I needed.
Ubercart - Programmatically add product to cart and straight to Checkout