Re: EXPLAIN
От | Dmitry E. Oboukhov |
---|---|
Тема | Re: EXPLAIN |
Дата | |
Msg-id | 20111010052123.GB1928@apache.rbscorp.ru обсуждение исходный текст |
Ответ на | EXPLAIN ("Dmitry E. Oboukhov" <unera@debian.org>) |
Список | 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@debian.org jabber://UNera@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Вложения
В списке pgsql-ru-general по дате отправления: