5

別のデータベースに接続する必要があるため、dblink を含むこのクエリがあり、非常に遅いようです (わずか 124 レコードで 50.343 秒)。速くする方法はありますか?以下はコードです:

select * 
from 
    customer  
    INNER JOIN  
    dblink('host=192.168.3.9 dbname=db2 user=postgres password=postgres', '
        SELECT
            status,
            last_churn_1,
            attempts,
            last_dialed,
            lead_id,
            date_added
        FROM campaign_customer
        ') AS table2 (
            status char(50),
            last_churn_1 char(50),
            attempts int,
            last_dialed char(250),
            lead_id char(8),
            date_added char(50)
        ) ON customer.phone1 = table2.last_dialed
where customer.leadid = '3434' and table2.lead_id='3434'
4

1 に答える 1

7

ダニエルが提案したように:

select * 
from 
    customer  
    INNER JOIN  
    dblink('host=192.168.3.9 dbname=db2 user=postgres password=postgres', $$
        SELECT
            status,
            last_churn_1,
            attempts,
            last_dialed,
            lead_id,
            date_added
        FROM campaign_customer
        where lead_id='3434'
        $$) AS table2 (
            status char(50),
            last_churn_1 char(50),
            attempts int,
            last_dialed char(250),
            lead_id char(8),
            date_added char(50)
        ) ON customer.phone1 = table2.last_dialed
where customer.leadid = '3434'
于 2012-12-21T16:15:54.477 に答える