Hello Guys, why does Outsystems recommend  having a binary separate in other table?

Hey João,

As far as I know this recommended because a binary attribute is in most of the cases is much bigger that all the other attributes size summed together . That being said in terms of performance , most of the times you are going to need some data from that table that are not related with the binary Data (e.g listing) so what Outsystems recommends us to do is to separate the binary Data in another Table so that you only fetch that data when you actually need it.


Hi João,

It's a matter of isolating your largest, and probably worst-performing columns. Essentially, anything that involves reading or changing records in an Entity with binary columns will be slower, so by moving them into their own Entity, you isolate those perfomance issues into the cases where you absolutely must change the binary column. 

There's a good explanation here: https://success.outsystems.com/Documentation/Best_Practices/Performance_Best_Practices/Performance_Best_Practices_-_Data_model#Isolate_large_text_and_binary_data

Solution

Basically, it is heavy to query or update entities with large text or binary data leading to poor performance, hence is recommended to isolate this sort of data so you will need to deal with this only when is really needed. 

If you need more info, a recomend you this: https://success.outsystems.com/Documentation/Best_Practices/Performance_Best_Practices/Performance_Best_Practices_-_Data_model#Isolate_large_text_and_binary_data

Rgds

Solution