On 24 June 2010 09:52, kaifeng.zhu <cafeeee@gmail.com> wrote:
> Hi All,
>
> I have a table named emails which created by following script:
> create table emails (
> email_id bigserial primary key,
> email_msg_id char(36) not null,
> email_sender text not null)
>
> The table has more than 10 million of records and I have already
> created indexes on email_msg_id and email_sender
>
> Following script finished very quickly (less than 1 seconds):
> select * from emails where email_msg_id =
> '4dba381b-f55e-02d3-4b4a-95e2e98178e2' limit 1
> But a similar script cost more than ten seconds:
> select * from emails where email_msg_id =
> '4dba381b-f55e-02d3-4b4a-95e2e98178e2' and email_sender_text =
> 'sender@domain.com' limit 1
>
> Both those scripts returns 0 rows of records indeed.
>
> Any comment are highly appreciated.
>
Sounds like the planner took a wrong turn in the 2nd case. Which
version of PostgreSQL are you running?
Thom