we are facing performance issues in our apps where we are fetching around 20 million records with 165 coloumns and I wanted to know the best practices to speed up the document?
Appreciate your help on the same.
This is a very tough question to answer without knowing your model so I would recommend you higher an expert that can help you out.
However, here are a few things you should take into account:
1) Do you really need all the columns? Make sure you only pull what you use.
2) Can you split your application into different ones? you can use document chaining to connect one app to the other. In the first you can show top level data and in your second app you can should the details.
3) You might need to think about incrementing the RAM in your server. this is not always the right solution, but again, this depends on your current environment.
4) Are you joining tables using long keys? If so, replace these using the autonumber function. This will make the key size smaller.
5) How many user are accessing the app at the same time? The more users, the more RAM you'll need.
6) Try aggregating data before you present it. You don't usually need all the details.
Again, improving the performance of an app is really complex and you might need expert help.
I hope this helps.
I will explain a solution about this next week.
1. Create QVD outside qlik. It's a complex process but possible. I made it (1G record - 1.000.000.000).
2. Depend of Data type create many QVD files is a option.
3. You will need a machine with 32 Gb Ram or more if used qlik.
What's is the database ?
I am working with Shekar on this, and we have reduced copies of this application maxing out at approx. 3MM rows. File size is around 500mb and from what I have been informed, the server is 200gb ram.
Performance impacts were mitigated by deactivating 'Dimension Limits', which seems to have a clearly positive effect. We are getting reasonably nimble response times in the desktop, with selections calculating against 95%+ of the data rendering in times of 6 seconds or less.
However, when moving from desktop to server, we're increasing nearly a minute in render time per interaction, going from approx 20 seconds, to over a minute twenty. So any assistance with emphasis on server impacts would be most appreciated. Thank you responders.