Modal: max # of records limit

  • 1
  • Question
  • Updated 3 months ago
  • Answered
I have an object with 8000+ records.  

When I use max # of records limit = 100 everything works fine but when I set to 1000, I get 
System.LimitException: Apex heap size too large: 6720396.


So, I understand that I must provide a lower limit.  But this limit makes sense from user record loading point of view, however, it simply doesn't make sense when I want to -

1) Search records more than 100 (when limit is set to 100).  How can I put arbitrary limit like this anyway? Max # of records seems to limit number of records and NOT number of records that I fetch (page cursor) at a time.

2) All my charts are limited to top 100 records and not total which is 8000 records. In other word,  all charts are incorrect as they are based on limited data and not complete data.

What am I missing?




Photo of Unmesh Sheth

Unmesh Sheth

  • 466 Points 250 badge 2x thumb

Posted 4 years ago

  • 1
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,674 Points 20k badge 2x thumb
Interesting. I see that your issue right away. Two options I can think:

1. Manual solution: click "load more" until the option is no longer available.
2. Use javascript to detect when more records can be loaded and do so.

Your issue will then be that the page can sometimes crash with the number of records being returned. You could test to see how many records you need to pull into the model to see when it crashes, but this isn't an ideal way to set the upper limit. I wonder if there is way to dynamically pull in as many records as capable and display a message when there are more records that can't be displayed.

I wonder what Skuid has been contemplating on how to handle this.
Photo of Lahari

Lahari

  • 206 Points 100 badge 2x thumb
Is Load More Option is Out of the box of SKUID? To what extent it can load ?
Photo of Irvin Waldman

Irvin Waldman, Champion

  • 9,006 Points 5k badge 2x thumb
Hi,

A few observations:

You definitively want to minimize the number of records pulled into the client.

Use search/filters to reduce the query set.  Are you using Server or Client side searching?

Instruct your users to leverage the Load More option per Pat's suggestion. 

Have you explored Aggregate models?

Regards,
Irvin
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
We definitely reccomend using aggregate models to show visualizations for large datasets.  Its much better to have the server crunch the numbers and send a very thin dataset across the wire.  

Unfortunately - this will make it difficult if you want to show details and have the visualization update in real time as the details are searched and filtered.  We are working on ways around this issue. I'll try to post some ideas later.