Re: EXPLAIN - Mailing list pgsql-ru-general

From Dmitriy Igrishin
Subject Re: EXPLAIN
Date
Msg-id CAAfz9KNxBEhJ_8ib5AexJhKurvnZEz1yeLMATbHYsXB2MRG7BQ@mail.gmail.com
Whole thread Raw
Responses Re: EXPLAIN
List pgsql-ru-general
Привет,

10 октября 2011 г. 9:21 пользователь Dmitry E. Oboukhov <unera@debian.org> написал:
> Если я не ошибаюсь, explain должен показать Index Scan с именем ключа.
> Подробнее про explain можно почитать в официальных доках:
> http://www.postgresql.org/docs/9.1/interactive/using-explain.html

ага я с этого читать и начал (только у меня PG9.0)

=> \d users

                                Table "public.users"
 Column  |         Type          |     Modifiers
----------+-----------------------+------------------------
 id       | integer               |
 rid      | integer               |
 sid      | integer               |
 login    | character varying(32) |      Вырезано
 password | character varying(32) |    за ненадобностью
 is_test  | boolean               |
 ext_id   | text                  |
Indexes:
   "users_pkey" PRIMARY KEY, btree (id)
   "users_login_key" UNIQUE, btree (login)
   "users_unique_ext_id_sid_index" UNIQUE,
       btree (ext_id, sid) WHERE ext_id IS NOT NULL
...


видно что по полю login например есть "users_login_key" UNIQUE,
btree (login), однако:

=> EXPLAIN SELECT * FROM users WHERE login = 't';
                     QUERY PLAN
------------------------------------------------------
 Seq Scan on users  (cost=0.00..2.40 rows=1 width=59)
  Filter: ((login)::text = 't'::text)
(2 rows)

Что надо сделать чтобы он стал показывать индексы в планах запроса?

 SET enable_seqscan TO OFF;
--
// Dmitriy.


pgsql-ru-general by date:

Previous
From: "Dmitry E. Oboukhov"
Date:
Subject: Re: EXPLAIN
Next
From: Viacheslav N Tararin
Date:
Subject: Re: EXPLAIN