I believe that, by default, number and string columns are loaded eagerly and included when the row object is first sent to the client. In contrast, simple object columns are loaded lazily, meaning they will trigger an additional round trip when accessed.
You can control which columns are loaded immediately using fetch_only
.
(You probably wouldn’t be wondering about this if this feature request had been implemented )