Performance of Entity Backed Record

If i have more than 100k rows in a table and i want to display it in the Record. As it is a huge data how can i handle it to maintain the performance of the record.

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer
    Hi as per my understanding, here the most important factor could be pagination. It doesn't matter whether you are dealing with 1000 rows or 100k but what matters is, you should not fetch and render huge data at a time instead of that, use the batch size of 25 or 50 hence Appian can make sure to retrieve only 25 or 50 rows from the last index and can avoid performance slowness.
  • Hi Aloks,

    How to Fetch Data in the form of batches while fetching the data from Data Base for records.

    Thanks
  • 0
    Certified Lead Developer
    in reply to krishnaprasadd
    When you create a record and configure an entity, you can find an option about batch size under record view, which you can modify as per you need.

    Also may I know are you building this record over a view or table, because while comparing table and view, table performs way faster than the views.

    If your requirement is to join multiple tables then I recommend you to go for materialised view where you can prepare the rows as per your requirement similar like a view but performance wise a lot better.

    You can even check MySQL documentation about performance comparison between view and materialised view.

    Yes I agree with @philb service backed record can be one option here. Please correct me if I am wrong, when this is not an external entity, then I believe even we can write default filter which will act like where condition while fetching the data from db for this entity, similar to what an expression rule does while using service backed record. So will this really make an improvement in terms of performance if we switch to service backed record?
  • 0
    Certified Lead Developer
    in reply to aloks0189
    Yes, you can write a condition that acts like a where clause in the default filter, but as I understand it will be applied per row and so performs badly across larger datasets. A service backed record can use a query entity which applies the where clause "properly", and so performs much better.
Reply Children
No Data