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? ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])