Index problem

Поиск
Список
Период
Сортировка
От Rolf Woll
Тема Index problem
Дата
Msg-id 3C42F0FE.6010007@anakon.no
обсуждение исходный текст
Ответы Re: Index problem  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi!

I am using PostgreSQL 7.1.2, and have problems making a query use an
index and not perform tablescans.

The table has the following definition:

        Attribute        |           Type           |
Modifier
------------------------+--------------------------+-------------------------------------------
  game_index_oid         | integer                  | not null
  gamegroup_oid          | integer                  |
  user_oid               | integer                  |
  marketplace_oid        | integer                  |
  number_of_participants | integer                  |
  total_value            | double precision         |
  avg_value              | double precision         |
  index_value            | double precision         |
  created_date           | timestamp with time zone | not null default
"timestamp"('now'::text)
  index_type             | character(1)             |
  market_index_value     | double precision         |

I have generated an index on the index_type field with the following
statement:

create index gi_index_type on game_indices(index_type);

As far as I can understand, the following statement;
select * from game_indices where index_type='G';

should use this index. But when I try explain, I get the following result:

 >explain select * from game_indices where index_type = 'G';
 >NOTICE:  QUERY PLAN:
 >
 >Seq Scan on game_indices  (cost=0.00..8454.04 rows=11080 width=72)
 >
 >EXPLAIN

However, if I try the same select but with a differend index_type value
I get:

 >explain select * from game_indices where index_type = 'M';
 >NOTICE:  QUERY PLAN:
 >
 >Index Scan using gi_index_type on game_indices  (cost=0.00..116.67
 >rows=33 width=72)
 >
 >EXPLAIN

So. When the constraint is for index_type='G', a seq scan is used, and
for other values of index_type the index is used. The table has 361000
entries, with the following index_type values:
count  | index_type
--------+------------
   11080 | G
     328 | M
  349958 |


Any ideas would be gratefully appreciated.

Regards
Rolf Woll
Anakon


В списке pgsql-general по дате отправления:

Предыдущее
От: Colm McCartan
Дата:
Сообщение: OT: anon CVS hassles
Следующее
От: "Tim Barnard"
Дата:
Сообщение: Re: [ADMIN] Monitoring database