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
Trying to push it to upstream 🤞 https://github.com/drush-ops/drush/pull/6621
Using Drush 8 with php 8
Wow, thank you!
Using Drush 8 with php 8
Hi folks, I went ahead and ported all drush 8.x stuff to PHP 8.3 and completely ripped out the legacy Symfony 2 internals. You can check out the exact details of what was done in the PR...
Using Drush 8 with php 8