Qlik Community

New to QlikView

Discussion board where members can get started with QlikView.

Announcements

Breathe easy -- you now have more time to plan your next steps with Qlik!
QlikView 11.2 Extended Support is now valid through December 31, 2020. Click here for more information.

Not applicable

Performance issue

I am loading 2 tables and performing inner join between them....

first table is coming from qvd which has 555,000 records(1 yr of data)

Second table is a sql query which has 1,530,000 records(5 yrs of data)

I am trying to load only 1 yr of data from sql query table(2nd table) with respect to qvd table(1st table), But when I am doing inner join its loading 1st table in 1 minute but when it comes to 2nd table its checking with 5 yrs of data and taking time....

I am wondering is there any way to give condition on 2nd table with respect to 1st table,where 1st table is qvd table and 2nd table is sql table.......

1 Solution

Accepted Solutions
Not applicable

Re: Performance issue

Hi,

You can use the where exists condition on the second table to read only that data which is existing in the first table (assuming your first table loads 1 year of data and has a key field that is used to join both the tables).

The syntax should look something like this:

Table 1:

Load

ID,

Field1,

Field2,

Field3

from Table1;

inner join (Table 1)

//Table 2

Load

ID,

Field4,

Field5,

Field6,

.

.

.

Fieldn

from Table 2

where exists (ID,ID);

Hope that helps.

Regards,

-Khaled.

3 Replies
Not applicable

Re: Performance issue

I think I am not clear, I want to go deeper and explain you guys...

In first table I have a field refference Id

In second table I have Refference Id and some other fields.....

I want to join two tables on Refference Id....

I am doing 1st table Inner join 2nd table....but here I want to load data from 2nd table which same refference Id in 1st table...In Qlikview when I do inner join its loading  1st table and also fetching all records from 2nd table while script execution.....

Is there a way other than inner join  to join two tables with my given  conditions......

Not applicable

Re: Performance issue

Hi,

You can use the where exists condition on the second table to read only that data which is existing in the first table (assuming your first table loads 1 year of data and has a key field that is used to join both the tables).

The syntax should look something like this:

Table 1:

Load

ID,

Field1,

Field2,

Field3

from Table1;

inner join (Table 1)

//Table 2

Load

ID,

Field4,

Field5,

Field6,

.

.

.

Fieldn

from Table 2

where exists (ID,ID);

Hope that helps.

Regards,

-Khaled.

Not applicable

Re: Performance issue

Thank you.....Its working perfect......

Community Browser