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.
  • Hi Aloks,

    In Entity backed records When The record List style is grid I didn't find any option like batch size under record view details but when I click on "Edit Record List" Link then in that grid we have an option called "Rows to display per page" where we regulate the no of records per page.

    Can you please confirm whether we have any other option like batch size or else you are also referring to the same "Rows to display per page"?

    If we set the Rows to display per page as 10 "Is it going fetch only 10 records form database or else it going to fetch entire data and after that it perform filtering"?

    Thanks in Advance
Reply
  • Hi Aloks,

    In Entity backed records When The record List style is grid I didn't find any option like batch size under record view details but when I click on "Edit Record List" Link then in that grid we have an option called "Rows to display per page" where we regulate the no of records per page.

    Can you please confirm whether we have any other option like batch size or else you are also referring to the same "Rows to display per page"?

    If we set the Rows to display per page as 10 "Is it going fetch only 10 records form database or else it going to fetch entire data and after that it perform filtering"?

    Thanks in Advance
Children