Help with understanding the Aggregate fetching_Does it download the whole entity?

Help with understanding the Aggregate fetching_Does it download the whole entity?

  
I have an entity called Image that has about 1000 images. It has two columns Name and Image (contaning Images as binary data). In order to view the image based on the selection from a combobobox, I have used "GetImages" aggregate in the preparation.
 
My question is when I do "GetImages", does the outsystems get or download all the data from the entity on server  to the client? Because if I have many thousands of images then it would be bad experience to the user waiting till all the data is feched. I'm looking forward to understand what happens when "Aggregate" is used.Does fetching data mean downloading all the content from the server to the client?.
In the aggregate, only show the fields you need for the dropdown, remove extraneous fields such as the image field.  When a user selects the dropdown you will have the Id value and you can do a GetImage action using that Id to retrieve the one image the user wants.

Hope this helps,
Curt
Thanks a lot @Curt Raddatz . It really helped. I would greatly appreciate if you would clarify the back process going on when I use the aggregate and trying to fetch data
Hi Abhi,

If you never access the binary attribute from that query the Platform will not even fetch it from the database at all.
So if you need the user to select an image name from a combo box then you want to actually display the image it should be a second query filtered by that Id to get the binary (instead of trying for example iterate on the first query and get it from there).

Regards,
João Rosado
João Rosado wrote:
Hi Abhi,

If you never access the binary attribute from that query the Platform will not even fetch it from the database at all.
So if you need the user to select an image name from a combo box then you want to actually display the image it should be a second query filtered by that Id to get the binary (instead of trying for example iterate on the first query and get it from there).

Regards,
João Rosado
 Thanks a lot Joao Rosado!! Appreciate it. Also I would greatly appreciate if you would clarify the back process going on when I use the aggregate and trying to fetch data. I suppose the only content that is diaplyed to the user is downloaded to client. The aggreagete usually fetched the data from the database server of outsystems to the application server. Please correct me if I am wrong. 
 
Hi,

Yes, only information displayed in the client will be sent to him. Just a little exception: if you do a query in the preparation an the access it inside a screen action that also counts as being in use (because screen actions do not re execute the aggregates done in preparation, so the client needs to send it back to the server).

Also as I said in the previous reply, if an attribue is not used at all, it will also be optimized on the server side and the aggregate will NOT get it from the database at all. That is all optimized automatically for you and it's hard to notice (except on debugger).

Regards,
João Rosado
João Rosado wrote:
Hi,

Yes, only information displayed in the client will be sent to him. Just a little exception: if you do a query in the preparation an the access it inside a screen action that also counts as being in use (because screen actions do not re execute the aggregates done in preparation, so the client needs to send it back to the server).

Also as I said in the previous reply, if an attribue is not used at all, it will also be optimized on the server side and the aggregate will NOT get it from the database at all. That is all optimized automatically for you and it's hard to notice (except on debugger).

Regards,
João Rosado
 Appreciate it!!