I feel the need for speed. What am I doing wrong? - Mailing list pgsql-hackers

From Dann Corbit
Subject I feel the need for speed. What am I doing wrong?
Date
Msg-id D90A5A6C612A39408103E6ECDD77B8294CD786@voyager.corporate.connx.com
Whole thread Raw
Responses Re: I feel the need for speed. What am I doing wrong?
Re: I feel the need for speed. What am I doing wrong?
List pgsql-hackers
I have a query using two postgres tables.
One is called "CNX_DS_53_SIS_STU_OPT_FEE_TB" and the other is called
"CNX_DS2_53_SIS_STU_OPT_FEE_TB".
I am getting 3 times slower performance than Microsoft Access when
performing a left outer join.

Here are the tables in question:

connxdatasync=# \d "CNX_DS_53_SIS_STU_OPT_FEE_TB"  Table "CNX_DS_53_SIS_STU_OPT_FEE_TB"  Attribute    |     Type      |
Modifier
----------------+---------------+----------RT_REC_KEY     | character(14) |cnxarraycolumn | integer       |CRC
 | bigint        | not null 
connxdatasync=# \d "CNX_DS2_53_SIS_STU_OPT_FEE_TB"  Table "CNX_DS2_53_SIS_STU_OPT_FEE_TB"  Attribute    |     Type
|Modifier 
----------------+---------------+----------RT_REC_KEY     | character(14) |cnxarraycolumn | integer       |CRC
 | bigint        | not null 

Here is the query:
select a."RT_REC_KEY", a."cnxarraycolumn", a."CRC" from
"CNX_DS_53_SIS_STU_OPT_FEE_TB" a left outer join
"CNX_DS2_53_SIS_STU_OPT_FEE_TB" b on ( a."RT_REC_KEY" = b."RT_REC_KEY"
and a."cnxarraycolumn" = b."cnxarraycolumn") where b.oid is null ;
Creating the following index had no effect on performance!
create unique index i1 on "CNX_DS2_53_SIS_STU_OPT_FEE_TB" ("RT_REC_KEY",
"cnxarraycolumn", "CRC");
Both tables had 6139062 rows of data.
In this query ... all rows of data match perfectly, so no results are
returned.

Is there a way to reformulate this query so that it will use the index?


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Read-only transactions
Next
From: "Marc G. Fournier"
Date:
Subject: Re: New Portal in Place, DNS switched ...