Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
QlikWorld 2022, LIVE in Denver CO., May 16-19, 2022. REGISTER NOW TO RECEIVE EARLY BIRD PRICING
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Use Index in Qlikview to improve the performance of the reports?

Hi,

Is it possibe to use Index in Qlikview to improve the performance of the reports?

If yes then how can we use them/ should we use them in load script or when we develop reports?

Thanks,

TA

5 Replies
Jason_Michaelides
Luminary Alumni
Luminary Alumni

There's no indexing feature per se. If you consider properly the data model and ensure the keys are kept to small integers as far as possible, then you will be optimising properly.  Plus, in the front-end follow all best practice for expressions etc.

Hope this helps,

Jason

multiview
Creator II
Creator II

Hi Tahir

In which phase you have performance problems?

- ETL

- Reports drill down and refresh

As Jason mentioned there is no indexing feature in Qlikview because simply its not required. I have been developing applications with millions of rows and it loads in seconds from QVDs.

However here are couple of tips :

- User delta or partial loads during data extraction

- Avoid complex WHERE clause or selections in SQL queries. Load the data to Qlikview and apply any transformation required.

- Store loaded data into QVDs and optimized loads.

- Follow dimensional modelling techniques to improve performance, I'd recommend reading these two books :

www.redbooks.ibm.com/redbooks/pdfs/sg247138.pdf (Esp. Chapter 5: Modelling considerations)

www.redbooks.ibm.com/redbooks/pdfs/sg242238.pdf

- Follow QlikView's best practices documents (you can find it in the documents section).

I hope this helps!

Regards

MultiView

Not applicable
Author

Thanks a lot!

Jason_Michaelides
Luminary Alumni
Luminary Alumni

Please mark a correct answer to close the thread.

Not applicable
Author

In SQL we create indexes for 1 simple reason ... reduce the amount of I/O required to resolve our query. We don't want to have to a complete table scan of a massive table if we already know a particular key value at worst we only want to have to load a minimal amount of data from our "index". In our best indexed scenario our index is already loaded into memory so our query doesn't have to do any I/O at all, it just uses the memory that is already loaded and voila we already have the pointer to our records.

The one downside to Indexes in SQL is that for every one that you create you slow down any inserts/updates to the table because all of the index tables also have to be created/updated. So there has to be a balance of usefulness of the index to the cost of having it.

The wonderful thing about QlikView is that you can really think of it as an index on each and every field that you have in your model. Because in reality the are all "in memory" and ready to go.

Hope that helps