powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать используется ли индекс?
13 сообщений из 13, страница 1 из 1
Как узнать используется ли индекс?
    #32918773
s_elected
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет народ!
Только начал изучать PG
и вот вопрос
перед вами 2 плана запроса

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
CREATE TABLE example (
exid   serial CONSTRAINT exid_pk PRIMARY KEY,
exname varchar( 255 )
);
--
EXPLAIN ANALYZE SELECT exname FROM example Where exid= 1 ;
/*
                                            QUERY PLAN

--------------------------------------------------------------------------------
-------------------
 Seq Scan on example  (cost=0.00..1.23 rows=1 width=400) (actual time=0.000..0.0
00 rows=1 loops=1)
   Filter: (exid = 1)
 Total runtime: 16.000 ms
(3 rows)
*/
--
DROP INDEX example_idx;
CREATE INDEX example_idx ON example(exid);
--
EXPLAIN ANALYZE SELECT exname FROM example Where exid= 1 ;
/*
                                            QUERY PLAN

--------------------------------------------------------------------------------
-------------------
 Seq Scan on example  (cost=0.00..1.09 rows=1 width=400) (actual time=0.000..0.0
00 rows=1 loops=1)
   Filter: (exid = 1)
 Total runtime: 0.000 ms
(3 rows)
*/

А теперь если не сложно
объясните мне разницу между ними ????
Как узнать что индекс используется ????
В Оракле все видно мол индекс такой-то
А в PG как узнать???

И вообще чем эти планы отличаются ????

Креативу нет предела ;-)
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32918817
Seq Scan on example - Это значит последовательное сканирование, т.е. индекс не используется.
Index Scan...- Это значит, что используется индекс.
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32918818
s_elected
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрябин ДмитрийSeq Scan on example - Это значит последовательное сканирование, т.е. индекс не используется.
Index Scan...- Это значит, что используется индекс.

Спсибо за рояснение т.е. индексы в данном случае не используются ?
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32918822
s_elected
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и еще вопрос почему они не используются в данном случае ?
Креативу нет предела ;-)
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32919126
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s_electedДа и еще вопрос почему они не используются в данном случае ?Наверное из-за того, что в таблице мало строк. (rows=1)
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32919563
Планировщик выбирает оптимальное решение использовать индекс, или нет. В это случае, простой перебор будет работать быстрее
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32919608
s_elected
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрябин ДмитрийПланировщик выбирает оптимальное решение использовать индекс, или нет. В это случае, простой перебор будет работать быстрее

Ясна типа стоимостной оптимизатор я так понимаю
спасибо что прояснили
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32919610
s_elected
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как узнать какой индекс используется?
Креативу нет предела ;-)
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32919928
Ну вот смотри пример:

Код: plaintext
1.
2.
3.
4.
5.
main=> explain select * from clients where id= 4 ;
                                  QUERY PLAN
------------------------------------------------------------------------------
 Index Scan using clients_pkey on clients  (cost= 0 . 00 .. 3 . 03  rows= 1  width= 257 )
   Index Cond: (id =  4 )
(записей:  2 )

Здесь говорится, что в этом запросе по полю id используется индекс clients_pkey
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32920470
mwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут посмотри.
Очень просто описано, for dummies, правда на английском, но очень просто.
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32920479
s_elected
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем огромное спасибо
разобрался с этим вопросом.
Креативу нет предела ;-)
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32920486
s_elected
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посоветуйте какой тип индексов использывать по
умолчанию Btree
а какой лучше или какой для чего предназначен?
Креативу нет предела ;-)
...
Рейтинг: 0 / 0
Как узнать используется ли индекс?
    #32920598
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s_electedПосоветуйте какой тип индексов использывать по
умолчанию Btree
а какой лучше или какой для чего предназначен? дока / index types

я использую только btree
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать используется ли индекс?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]