Re: Weird indices
От | Stephan Szabo |
---|---|
Тема | Re: Weird indices |
Дата | |
Msg-id | Pine.BSF.4.21.0102161649250.14460-100000@megazone23.bigpanda.com обсуждение исходный текст |
Ответ на | Weird indices (Jean-Christophe Boggio <cat@thefreecat.org>) |
Ответы |
Re[2]: Weird indices
|
Список | pgsql-general |
Do you have a value that is not null that is very common? It's estimating that there will be 10113 rows that match nomsession='xxx' which makes a seq scan a much less bad plan. On Sat, 17 Feb 2001, Jean-Christophe Boggio wrote: > > Hi, > > I try to optimize our databases and I find a query that's not very > optimal : > > sitefr=# explain select nomsession from session where nomsession='xxx'; > NOTICE: QUERY PLAN: > > Seq Scan on session (cost=0.00..16275.95 rows=10113 width=12) > > EXPLAIN > > > Phew! I think there's an index missing but... > > sitefr=# \d session > Table "session" > Attribute | Type | Modifier > ------------+-----------+------------------------------------------------- > idsession | integer | not null default nextval('seq_idsession'::text) > nomsession | text | > idmembre | text | > referer | text | > ip | text | > datelog | timestamp | > Indices: ix_session_idmembre, > ix_session_nomsession, > session_idsession_key > > > So I look at the index itself : > > sitefr=# \d ix_session_nomsession > Index "ix_session_nomsession" > Attribute | Type > ------------+------ > nomsession | text > btree > > > Did I miss something or 'text' attributes (fields) can't be indexed ? > That sounds crazy ! (I vacuum analyzed many times) > > Just in case 'nomsession' would not be as dispersed as I would > think... > > sitefr=# select count(nomsession) from session; > count > -------- > 510069 > (1 row) > > sitefr=# select count(distinct nomsession) from session; > count > -------- > 401094 > (1 row)
В списке pgsql-general по дате отправления: