We're experiencing a slowdown when loading a lot of data from the DB to be u

We're experiencing a slowdown when loading a lot of data from the DB to be used in a form. What we're doing is loading up all of the data from the DB, applying a filter based on user input, and showing the results all on the same page. The user input is based off a mathematical function, so using the Appian query rules isn't an option.
The initial data load takes about 15 seconds, so when the user clicks a "Next" button to get to the page it hangs.
Has anyone else ran into this issue with a long load time, and how did it get resolved?

OriginalPostID-152339

OriginalPostID-152339

  Discussion posts and replies are publicly visible

Parents
  • @nickh I might be wrong, but I thought that sharing some information would be worth because even we faced some inevitable scenarios like these. If you are performing operations post submission of the form, it would be worth trying a stored procedure or query database (with an efficient SQL), as these would retrieve data much quickly in case of complex operations. Else, if possible, try to opt for an approach where the query is made on need basis i.e. if you are surfacing the data in a paging grid, limit the records (say, 25 a page) and get only page full of data and query the rest upon pagination.

    Few more things which might be worth taking a look at are:
    1. Implement the indexing of columns wherever possible.
    2. Retrieving only those columns that are required (limiting the number of columns in selection)
    3. Creating a cdt (and mapping it to the existing table/ view) which consists of only useful columns that are frequently used in queries.

    I think, the time consumed may not come down at times even when all the above are taken care of, so I would like to suggest to delegate the processing as much as possible to database by making use of the options present in the database such as functions, routines etc.
Reply
  • @nickh I might be wrong, but I thought that sharing some information would be worth because even we faced some inevitable scenarios like these. If you are performing operations post submission of the form, it would be worth trying a stored procedure or query database (with an efficient SQL), as these would retrieve data much quickly in case of complex operations. Else, if possible, try to opt for an approach where the query is made on need basis i.e. if you are surfacing the data in a paging grid, limit the records (say, 25 a page) and get only page full of data and query the rest upon pagination.

    Few more things which might be worth taking a look at are:
    1. Implement the indexing of columns wherever possible.
    2. Retrieving only those columns that are required (limiting the number of columns in selection)
    3. Creating a cdt (and mapping it to the existing table/ view) which consists of only useful columns that are frequently used in queries.

    I think, the time consumed may not come down at times even when all the above are taken care of, so I would like to suggest to delegate the processing as much as possible to database by making use of the options present in the database such as functions, routines etc.
Children
No Data