From: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
---|---|
To: | Anton Krasikov <krasikov(at)gmail(dot)com> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: EXPLAIN |
Date: | 2011-10-10 05:21:24 |
Message-ID: | 20111010052123.GB1928@apache.rbscorp.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
> Если я не ошибаюсь, 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)
Что надо сделать чтобы он стал показывать индексы в планах запроса?
Или это как в MySQL: пока табличка маленькая индексы просто не
используются и надо табличку заполнить большой кучей данных прежде чем
смотреть как он будет использовать их?
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitriy Igrishin | 2011-10-10 06:51:57 | Re: EXPLAIN |
Previous Message | Dmitry E. Oboukhov | 2011-10-09 20:17:04 | EXPLAIN |