Try single quotes around 10000:
select * from pmmeasure where dataid = '10000';
This is understood to mean:
select * from pmmeasure where dataid = '10000'::bigint;
Without the quotes this is understood to be
select * from pmmeasure where dataid = ('10000'::int4)::bigint;
which is not what you want anyway.
Dan Weston
On Fri, 21 Jun 2002, Johnson Ma wrote:
> Hi guru
>
> I have a table with 300,000 records. I also created a index on it. But
> the postgresql use sequence scan every time, when i search one record.
> It is so slow. why?
>
> here is create table script
> create table pmmeasure (dataid bigint not null,
> measurenum bigint DEFAULT nextval('measurenum')
> UNIQUE NOT NULL,
> name varchar(100) not null,
> value varchar(100) not null,
> constraint pk_pmmeasure primary key (measurenum),
> constraint fk_pmmeasure_1 foreign key (dataid)
> references pmdata (dataid)
> );
> create index index_pm on pmmeasure (dataid);
>
>
> When I do like
> explain analyze select * from pmmeasure where dataid = 10000;
>
> it shows that postgresql always sequence scan for that record.
>
>
> Thanks a lot.
>
>
> Johnson
>
>
>
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>
>