3 Replies Latest reply: Dec 3, 2012 3:15 PM by Pramod Dontham RSS

    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.......

        • 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......

          • 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.